作用:用来增加产品族的。对于增加新的产品,使用简单工厂较好。
抽象工厂模式是方法工厂模式的升级,在多个业务品种,多个业务分类时,使用抽象工厂模式生产较方便。
代码演示生产高配和低配的产品族:
1.抽象发动机对象:
public interface Engine {
void run();
void start();
}
(1)高端发动机对象
class LuxuryEngine implements Engine{
@Override
public void run() {
System.out.println("高端发动机转速快");
}
@Override
public void start() {
System.out.println("高端发动机自动启停");
}
}
(2)低端发动机
class LowerEngine implements Engine{
@Override
public void run() {
System.out.println("低端发动机转速慢");
}
@Override
public void start() {
System.out.println("低端发动机没有自动启停");
}
}
2.抽象座椅对象:
public interface Seat {
void massage();
}
(1)高端座椅
class LuxurySseat implements Seat{
@Override
public void massage() {
System.out.println("高端座自动按摩");
}
}
(2)低端座椅
class LowerSeat implements Seat{
@Override
public void massage() {
System.out.println("低端座椅简洁");
}
}
3.抽象轮胎对象:
public interface Tyre {
void revolve();
}
(1)高端轮胎对象
class Luxurytyre implements Tyre{
@Override
public void revolve() {
System.out.println("高端轮胎抓力好磨损满");
}
}
(2)低端轮胎对象
class LowerTyre implements Tyre{
@Override
public void revolve() {
System.out.println("低端轮胎磨损快");
}
}
4.抽象工厂对象
public interface CarFactory {
Engine createEngine();
Seat createSeat();
Tyre creattyre();
}
(1)高端配件工厂对象
class LuxuryCarFactory implements CarFactory{
@Override
public Engine createEngine() {
return new LuxuryEngine();
}
@Override
public Seat createSeat() {
return new LuxurySseat();
}
@Override
public Tyre creattyre() {
return new Luxurytyre();
}
}
(2)低端配件工厂对象
class LowerCarFactory implements CarFactory{
@Override
public Engine createEngine() {
return new LowerEngine();
}
@Override
public Seat createSeat() {
return new LowerSeat();
}
@Override
public Tyre creattyre() {
return new LowerTyre();
}
}
5.测试:
public static void main(String[] args) {
LuxuryCarFactory luxuryCarFactory = new LuxuryCarFactory();
Engine Luxryengine = luxuryCarFactory.createEngine();
Luxryengine.run();
Luxryengine.start();
Seat luxurySeat = luxuryCarFactory.createSeat();
luxurySeat.massage();
Tyre luxurytyre = luxuryCarFactory.creattyre();
luxurytyre.revolve();
}
结果:
高端发动机转速快
高端发动机自动启停
高端座自动按摩
高端轮胎抓力好磨损满
更多推荐
抽象工厂设计模式
发布评论