工厂模式中的interface 和 implement
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式中的interface 和 implement相关的知识,希望对你有一定的参考价值。
请问,工厂模式是怎么回事啊??里面的那个interface 和 implement 有什么用啊 ??(我是一个0基础的初学者,刚开始学object-oriented, 所以麻烦解答得浅显一些,,谢谢啦
参考技术A 所谓工厂模式:主要是要建一个工厂类:封装对象的创建细节,为调用者提供符合要求的对象!interface里面全部定义的要实现的功能,并没有方法实体。而这个接口就要被其他要实现其功能的类实现也就是(implements).
设计模式抽象工厂设计模式
抽象工厂设计模式:其不同于静态工厂和工厂方法设计模式生产同一业务类型的单个产品系列,抽象工厂设计模式生产的是一系列的产品对象,是针对更加多元化的业务场景诞生的。
Talk is cheap,Show me the code!
Cpu抽象系列产品
/**
* 作者:created by storm
* cpu产品接口
*/
public interface Cpu {
void compute();
}
Cpu具体产品IbmCpu
/**
* 作者:created by storm
* cpu具体产品角色IbmCpu
*/
public class IbmCpu implements Cpu {
public void compute() {
System.out.println("IbmCpu");
}
}
Cpu具体产品IntelCpu
/**
* 作者:created by storm
* cpu具体产品角色IntelCpu
*/
public class IntelCpu implements Cpu {
public void compute() {
System.out.println("IntelCpu compute");
}
}
Monitor抽象系列产品
/**
* 作者:created by storm
* pc屏幕产品接口
*/
public interface Monitor {
void showContent();
}
Monitor具体产品IbmMonitor
/**
* 作者:created by storm
* IBM显示器具体角色
*/
public class IbmMonitor implements Monitor {
public void showContent() {
System.out.println("IbmMonitor showContent");
}
}
Monitor具体产品IntelMonitor
/**
* 作者:created by storm
* 英特尔显示器具体产品角色
*/
public class IntelMonitor implements Monitor {
public void showContent() {
System.out.println("IntelMonitor showContent");
}
}
抽象工厂类ComputerFactory
/**
* 作者:created by storm
* 抽象工厂设计模式
* 不同于静态工厂设计模式和工厂方法模式,创建的产品不再是单一类的单个对象,而是同一系列的多个产品对象。
* 多个工厂类创建不同的产品系列对象。
* 当需要添加具体的产品系列时,只需要增加具体产品角色类,以及对应的产品工厂类即可。
*/
public interface ComputerFactory {
Monitor createMonitor();
Cpu createCpu();
}
具体工厂类IbmComputerFactory
/**
* 作者:created by storm
* Ibm系列产品工厂
*/
public class IbmComputerFactory implements ComputerFactory {
@Override
public Monitor createMonitor() {
return new IbmMonitor();
}
@Override
public Cpu createCpu() {
return new IbmCpu();
}
}
具体工厂类IntelComputerFactory
/**
* 作者:created by storm
* 英特尔产品系列工厂
*/
public class IntelComputerFactory implements ComputerFactory {
@Override
public Monitor createMonitor() {
return new IntelMonitor();
}
@Override
public Cpu createCpu() {
return new IntelCpu();
}
}
以上是关于工厂模式中的interface 和 implement的主要内容,如果未能解决你的问题,请参考以下文章