产品族(例子)
来源:互联网 发布:淘宝家装APP 编辑:程序博客网 时间:2024/04/30 17:26
实验内容:
产品族类图:
产品等级结构图:
代码目录结构:
结果:
factory包
IAutoFactory.java
package factory;import product.ISUV;import product.ISport;public interface IAutoFactory { public ISport createSport(); public ISUV createSUV();}
SuperFactory.java
package factory;import product.ISUV;import product.ISport;import sportProduct.SuperSport;import suvProduct.SuperSUV;public class SuperFactory implements IAutoFactory { @Override public ISport createSport() { return new SuperSport(); } @Override public ISUV createSUV() { return new SuperSUV(); }}
MedFactory.java
package factory;import product.ISUV;import product.ISport;import sportProduct.MedSport;import suvProduct.MedSUV;public class MedFactory implements IAutoFactory{ @Override public ISport createSport() { return new MedSport(); } @Override public ISUV createSUV() { return new MedSUV(); }}
product包
ISport.java
package product;public abstract class ISport { public abstract void ignition(); public abstract void startup();}
ISUV.java
package product;public abstract class ISUV { public abstract void ignition(); public abstract void startup();}
sportProduct包
SuperSport.java
package sportProduct;import product.ISport;public class SuperSport extends ISport { @Override public void ignition() { System.out.println("高级运动车点火"); } @Override public void startup() { System.out.println("高级运动车启动"); }}
MedSport.java
package sportProduct;import product.ISport;public class MedSport extends ISport { @Override public void ignition() { System.out.println("中级运动车点火"); } @Override public void startup() { System.out.println("中级运动车启动"); }}
suvProduct包
SuperSUV.java
package suvProduct;import product.ISUV;public class SuperSUV extends ISUV { @Override public void ignition() { System.out.println("高级SUV点火"); } @Override public void startup() { System.out.println("高级SUV启动"); }}
MedSUV.java
package suvProduct;import product.ISUV;public class MedSUV extends ISUV { @Override public void ignition() { System.out.println("中级SUV点火"); } @Override public void startup() { System.out.println("中级SUV启动"); }}
main
import factory.MedFactory;import factory.SuperFactory;import sportProduct.MedSport;import sportProduct.SuperSport;import suvProduct.MedSUV;import suvProduct.SuperSUV;public class client { public static void main(String[] args) { SuperFactory sf =new SuperFactory(); SuperSport sp= (SuperSport) sf.createSport(); sp.ignition(); sp.startup(); SuperSUV ss = (SuperSUV) sf.createSUV(); ss.ignition(); ss.startup(); MedFactory mf =new MedFactory(); MedSport mSport = (MedSport) mf.createSport(); mSport.ignition(); mSport.startup(); MedSUV mSuv = (MedSUV) mf.createSUV(); mSuv.ignition(); mSuv.startup(); }}
阅读全文
0 0
- 产品族(例子)
- spring 产品族
- hibernate 产品族
- 抽象工厂 -- 实例化产品族
- usb can转换设备,“引领”USBCAN产品族
- 抽象工厂模式(二):产品等级结构与产品族
- 工厂三兄弟之抽象工厂模式(二):产品等级结构与产品族
- 设计模式之四:抽象工厂模式—产品族的创建
- Dialog例子-工单排产
- 【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族
- 抽象工厂模式-Abstract Factory Pattern 工厂三兄弟之抽象工厂模式(二):产品等级结构与产品族
- 设计模式——创建型之使用工厂方法模式灵活自由创建你的产品族和方案(二)
- 新浪的“产经”
- 恒大地产好事多磨
- 转载各地产出品
- 产次登陆
- 产品类的操作
- 预产渐近
- loadrunner Web_类函数之web_set_certificate()
- 题目学习——K尾相等数
- 1023组个最小数(贪心算法)
- 处理器中基于PCIe Bus的NTB(Non-Transparent Bridge)支持
- 读史笔记——王莽新朝
- 产品族(例子)
- IOS开发之多重MVC以及手势
- Linux 给用户加sudo权限
- loadrunner Web_类函数之web_set_certificate_ex()
- Add to List 611. Valid Triangle Number
- (菜汪学jvm)java内存区域简介
- java中使用$.ajax创建下拉选项
- 比小强还小强的生物
- 1022D进制转换(进制转换)