实验报告8 抽象工厂模式 --加练

本文由用户“话说得露骨”分享发布 更新时间:2023-05-14 22:06:40 举报文档

以下为《实验报告8 抽象工厂模式 --加练》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

重庆***

实验报告

课程 软件工程与软件设计模式

学院 大数据与计算机***

专业 计算机科学与技术

年级 2022 级

学号 ***10

姓名 刘某某

指导教师 蒋某某

重庆***大数据与计算机***

2022-2023学年第2学期

实验任务

抽象工厂模式



姓名

刘某某

操作性质

基本操作 ( ) 验证性操作( )

综合性操作( ) 设计性操作(√)



日期

2023-4-23

成绩





教师评价:

实验预习( ) 实验操作( )实验结果( )实验报告( )

教师签名:



实验要求:

完成实验内容,并完善本实验报告,包括主要代码和操作步骤截图。



实验内容

用抽象工厂模式设计农场类。

分析:农场中除了像畜牧场一样可以养动物,还可以培养植物,如养马、养牛、种菜、种水果等,所以本实例比前面介绍的畜牧场类复杂,必须用抽象工厂模式来实现:

注意:里面涉及到的图片可自行去网站下载

画出对应的类图;

参考代码如下(个别地方需要简单调整哟;另外显示图片的位置也需要哟)

package AbstractFactory;

import java.awt.*;

import javax.swing.*;

public class FarmTest {

public static void main(String[] args) {

try

{

Farm f;

Animal a;

Plant p;

f=(Farm) ReadXML.getObject();

a=f.newAnimal();

p=f.newPlant();

a.show();

p.show();

}

catch(Exception e)

{

System.out.println(e.getMessage());

}

}

}

//抽象产品:动物类

interface Animal {

public void show();

}

//具体产品:马类

class Horse implements Animal

{

JScrollPane sp;

JFrame jf = new JFrame("抽象工厂模式测试");

public Horse() {

Container contentPane = jf.getContentPane();

JPanel p1 = new JPanel();

p1.setLayout(new GridLayout(1,1));

p1.setBorder(BorderFactory.createTitledBorder("动物:马"));

sp = new JScrollPa 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ("新类名:"?+?cName); ????????????Class?c?=?Class.forName(cName); ????????????Object?obj?=?c.newInstance(); ????????????return?obj; ????????}?catch?(Exception?e)?{ ????????????e.printStackTrace(); ????????????return?null; ????????} ????} }



主要操作代码整理与实验结果展示

类图:



实验结果截图:







[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《实验报告8 抽象工厂模式 --加练》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览