软件设计与体系结构复习整理题目及答案(6)

2019-08-17 13:02

f2.validate(); } }

class MyFrame extends JFrame{ String str;

MyFrame(String title){ setTitle(title);

Moon moon=Moon.getMoon(); str=moon.show();

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setVisible(true); repaint(); }

public void paint(Graphics g){ super.paint(g);

g.setFont(new Font(\宋体\ g.drawString(str,5,100); } }

———————————————————————————————————————

工厂方法模式(别名:虚拟构造)

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。

模式的结构中包括四种角色: 抽象产品(Product)

具体产品(ConcreteProduct) 构造者(Creator)

具体构造者(ConcreteCreator)

1.抽象产品(Product) : PenCore.java public abstract class PenCore{ String color;

public abstract void writeWord(String s); }

2.具体产品(ConcreteProduct)_1 : RedPenCore.java public class RedPenCore extends PenCore{ RedPenCore(){ color=\红色\ }

public void writeWord(String s){

System.out.println(\写出\的字:\ } }

3.构造者(Creator):BallPen.java public abstract class BallPen{ BallPen(){

System.out.println(\生产了一只装有\笔芯的圆珠笔\ }

public abstract PenCore getPenCore(); //工厂方法 }

4.具体构造者(ConcreteCreator): RedBallPen.java

public class RedBallPen extends BallPen{

public PenCore getPenCore(){ return new RedPenCore(); } }

BlueBallPen.java

public class BlueBallPen extends BallPen{ public PenCore getPenCore(){ return new BluePenCore(); } }

BlackBallPen.java

public class BlackBallPen extends BallPen{ public PenCore getPenCore(){ return new BlackPenCore(); } }

5.应用 Application.java public class Application{

public static void main(String args[]){ PenCore penCore;

BallPen ballPen=new BlueBallPen(); penCore=ballPen.getPenCore();

penCore.writeWord(\你好,很高兴认识你\ ballPen=new RedBallPen(); penCore=ballPen.getPenCore();

penCore.writeWord(\ ballPen=new BlackBallPen(); penCore=ballPen.getPenCore();

penCore.writeWord(\ } }

———————————————————————————————————————

抽象工厂模式:

模式的结构中包括四种角色: 抽象产品(Prodcut)

具体产品(ConcreteProduct) 抽象工厂(AbstractFactory) 具体工厂(ConcreteFactory)

1.抽象产品(Product) : UpperClothes.java

public abstract class UpperClothes{

public abstract int getChestSize(); public abstract int getHeight(); public abstract String getName(); }

Trousers.java

public abstract class Trousers{

public abstract int getWaistSize(); public abstract int getHeight(); public abstract String getName(); }

2.具体产品(ConcreteProduct)_1: WesternUpperClothes.java public class WesternUpperClothes extends UpperClothes{ private int chestSize; private int height; private String name;

WesternUpperClothes(String name,int chestSize,int height){ this.name=name;

this.chestSize=chestSize; this.height=height; }

public int getChestSize(){ return chestSize; }

public int getHeight(){ return height; }

public String getName(){ return name; } }

2.具体产品(ConcreteProduct)_2: CowboyUpperClothes.java public class CowboyUpperClothes extends UpperClothes{ private int chestSize; private int height; private String name;

CowboyUpperClothes(String name,int chestSize,int height){ this.name=name;

this.chestSize=chestSize; this.height=height; }

public int getChestSize(){ return chestSize; }

public int getHeight(){

return height; }

public String getName(){ return name; } }

2.具体产品(ConcreteProduct)_3: WesternTrousers.java public class WesternTrousers extends Trousers{ private int waistSize; private int height; private String name;

WesternTrousers(String name,int waistSize,int height){ this.name=name;

this.waistSize=waistSize; this.height=height; }

public int getWaistSize(){ return waistSize; }

public int getHeight(){ return height; }

public String getName(){ return name; } }

2.具体产品(ConcreteProduct)_4: CowboyTrousers.java public class CowboyTrousers extends Trousers{ private int waistSize; private int height; private String name;

CowboyTrousers(String name,int waistSize,int height){ this.name=name;

this.waistSize=waistSize; this.height=height; }

public int getWaistSize(){ return waistSize; }

public int getHeight(){ return height; }

public String getName(){ return name;


软件设计与体系结构复习整理题目及答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Dwocbw冉万祥同志在2011年全州经济工作会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: