public class AbstractProductA
{
/**
* @roseuid 59AC05990327
*/
public AbstractProductA()
{
}
}
public class ProductA1 extends AbstractProductA
{
/**
* @roseuid 59AC05990359
*/
public ProductA1()
{
}
}
public class ProductA2 extends AbstractProductA
{
/**
* @roseuid 59AC05990381
*/
public ProductA2()
{
}
}
public class AbstractProductB
{
/**
* @roseuid 59AC059903BA
*/
public AbstractProductB()
{
}
}
public class ProductB1 extends AbstractProductB
{
/**
* @roseuid 59AC059A001F
*/
public ProductB1()
{
}
}
public class ProductB2 extends AbstractProductB
{
/**
* @roseuid 59AC059A0049
*/
public ProductB2()
{
}
}
public abstract class AbstractFactory
{
/**
* @roseuid 59AC05690005
*/
public AbstractFactory()
{
}
/**
* @return AbstractProductA
* @roseuid 59ABFB0103BE
*/
public Abstract AbstractProductA createProductA() ;
/**
* @return AbstractProductB
* @roseuid 59ABFB3B029D
*/
public Abstract AbstractProductB createProductB() ;
}
public class ConcreteFactory1 extends AbstractFactory
{
/**
* @roseuid 59AC057A02FC
*/
public ConcreteFactory1()
{
}
/**
* @return AbstractProductA
* @roseuid 59ABFB9C00C9
*/
public AbstractProductA createProductA()
{
return new ProductA1();
}
/**
* @return AbstractProductB
* @roseuid 59ABFBA30011
*/
public AbstractProductB createProductB()
{
return new ProductB1();
}
}
public class ConcreteFactory2 extends AbstractFactory
{
/**
* @roseuid 59AC057A02C0
*/
public ConcreteFactory2()
{
}
/**
* @return AbstractProductA
* @roseuid 59ABFCC701B9
*/
public AbstractProductA createProductA()
{
return new ProductA2();
}
/**
* @return AbstractProductB
* @roseuid 59ABFCC9001F
*/
public AbstractProductB createProductB()
{
return new ProductB2();
}
}
public class Client
{
/**
* @roseuid 59AC055700AB
*/
public Client()
{
}
public static void main(String[] args){
AbstractFactory theAbstractFactory;
AbstractProductA theAbstractProductA;
AbstractProductB theAbstractProductB;
theAbstractFactory=new ConcreteFactory1();
theAbstractProductA=theAbstractFactory.createProductA();
theAbstractProductB=theAbstractFactory.createProductB();
}
}
public interface Door {
public void open();
public void close();
}
public class BenzDoor implements Door {
@Override
public void open() {
System.out.println("奔驰车门开");
}
@Override
public void close() {
System.out.println("奔驰车门关");
}
}
public class BmwDoor implements Door {
@Override
public void open() {
System.out.println("宝马车门开");
}
@Override
public void close() {
System.out.println("宝马车门关");
}
}
public interface Tire {
public void getColor();
public void getLife();
public void getWidth();
}
public class BenzTire implements Tire {
@Override
public void getColor() {
System.out.println("benz车color");
}
@Override
public void getLife() {
System.out.println("benz车life");
}
@Override
public void getWidth() {
System.out.println("benz车width");
}
}
public class BmwTire implements Tire {
@Override
public void getColor() {
System.out.println("bmw车color");
}
@Override
public void getLife() {
System.out.println("bmw车life");
}
@Override
public void getWidth() {
System.out.println("bmw车width");
}
}
public interface Engine {
public void start();
public void stop();
}
public class BenzEngine implements Engine {
@Override
public void start() {
System.out.println("benz车start");
}
@Override
public void stop() {
System.out.println("benz车stop");
}
}
public class BmwEngine implements Engine {
@Override
public void start() {
System.out.println("bmw车start");
}
@Override
public void stop() {
System.out.println("bmw车stop");
}
}
public interface PartFactory {
public Door createDoor();
public Tire createTire();
public Engine createEngine();
}
public class BenzPartFactory implements PartFactory {
@Override
public Door createDoor() {
return new BenzDoor();
}
@Override
public Tire createTire() {
return new BenzTire();
}
@Override
public Engine createEngine() {
return new BenzEngine();
}
}
public class BmwPartFactory implements PartFactory {
@Override
public Door createDoor() {
return new BmwDoor();
}
@Override
public Tire createTire() {
return new BmwTire();
}
@Override
public Engine createEngine() {
return new BmwEngine();
}
}
public class Car {
private Door door;
private Engine engine;
private Tire tire;
public Car(PartFactory factory) {
this.door = factory.createDoor();
this.engine = factory.createEngine();
this.tire = factory.createTire();
}
public Door getDoor() {
return door;
}
public Engine getEngine() {
return engine;
}
public Tire getTire() {
return tire;
}
}
public class Client {
public static void main(String[] args) {
PartFactory partFactory=new BenzPartFactory();
Car benzCar=new Car(partFactory);
benzCar.getDoor().open();
benzCar.getEngine().start();
benzCar.getTire().getColor();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有