/*
2011-9-18
author:BearFly1990
*/
package designpattern;
public class AbstractFactoryMethod {
public static void main(String[] args) {
AbstractAutoFactory2 aaf = new CarFactory2();
aaf.createAuto();
aaf.createWheel();
}
}
abstract class Auto2{
}
class Car2 extends Auto2{
}
class Truck2 extends Auto2{
}
abstract class Wheel2{
}
class CarWheel2 extends Wheel2{
}
class TruckWheel2 extends Wheel2{
}
interface CreateWheelAble{
public abstract Wheel2 createWheel();
}
abstract class AbstractAutoFactory2 implements CreateWheelAble{
public abstract Auto2 createAuto();
public abstract Wheel2 createWheel();
}
class CarFactory2 extends AbstractAutoFactory2{
@Override
public Auto2 createAuto() {
return new Car2();
}
@Override
public Wheel2 createWheel() {
return new CarWheel2();
}
}
class TruckFactory2 extends AbstractAutoFactory2{
@Override
public Auto2 createAuto() {
return new Truck2();
}
@Override
public Wheel2 createWheel() {
return new TruckWheel2();
}
}
抽象工厂方法
最新推荐文章于 2025-01-22 22:51:57 发布