Java设计模式之抽象工厂模式怎么实现
作者:归人云淡风轻
时间:2023-05-02
浏览:2
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);
}
}
作者最新文章
AO3中文界面设置指南与核心功能使用教程
2026-10-14 23:28
解决win10运行3DMAX自动重启的方法
2026-10-13 17:08
哔哩哔哩投稿封面上传失败怎么解决
2026-10-13 15:55
漫蛙漫画官网免费漫画入口
2026-10-13 13:19
漫蛙漫画app免费下载安装最新版
2026-10-13 13:18
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































