Java设计模式之抽象工厂模式怎么实现
作者:归人云淡风轻
时间:2023-05-02
浏览:3
1.介绍当系统准备为用户提供一系列相关对象,又不想让用户代码和这些对象形成耦合时,就可以使用抽象工厂模式。2.如何实现1)抽象产品--Car2)具体产品--BYDCar、TSLCar3)抽象工厂Factory4)具体工厂--BYDFactory、TSLFactory3.代码实现/***抽象产品*/publicabstractclassCar{publicabstractStringgetName();}/***具体产品*/publicclassBYDCarextendsCar{Stringname;pub
本文目录
1.介绍
当系统准备为用户提供一系列相关对象,又不想让用户代码和这些对象形成耦合时,就可以使用抽象工厂模式。
2.如何实现
1)抽象产品--Car
2)具体产品--BYDCar、TSLCar
3)抽象工厂Factory
4)具体工厂--BYDFactory、TSLFactory
3.代码实现
/**
* 抽象产品
*/
public abstract class Car {
public abstract String getName();
}/**
* 具体产品
*/
public class BYDCar extends Car {
String name;
public BYDCar(String name){
this.name = name;
}
@Override
public String getName() {
return name;
}
}/**
* 抽象工厂
*/
public abstract class CarFactoty {
public abstract Car createCar(String name);
} /**
* 具体工厂
*/
public class BYDFactory extends CarFactoty {
@Override
public BYDCar createCar(String name) {
return new BYDCar(name);
}
}4.总结
1)抽象工厂模式可以为用户创建一系列相关的对象,是用户和这些类的对象解耦
2)使用抽象工厂模式可以方便的为用户配置一些列对象。
3)在抽象工厂模式中,可以随时增加“具体工厂”为用户提供一组相关的对象。
如:是上面的例子中,如果用户需要一特斯拉车,创建一个特斯拉对象和特斯拉工厂就能完成。
/**
* 具体产品
*/
public class TSLCar extends Car {
String name;
public TSLCar(String name){
this.name = name;
}
@Override
public String getName() {
return name;
}
}/**
* 具体工厂
*/
public class TSLFactory extends CarFactoty {
@Override
public TSLCar createCar(String name) {
return new TSLCar(name);
}
}
作者最新文章
bilibili视频封面怎么替换已发布的
2026-11-12 11:52
夸克浏览器怎么把网页添加到桌面
2026-11-06 17:42
Visual Studio2019代码查找替换使用正则表达式方法
2026-11-06 12:03
coreldraw快捷键怎么设置在哪里
2026-11-02 21:39
AO3最新可用链接及中文入口汇总
2026-10-29 13:32
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































