创建型模式_工厂方法
来源:互联网 发布:java|| 编辑:程序博客网 时间:2024/05/17 15:36
package designpatten;
/**
* 产品层次
*/
interface IProduct{
public void use();
}
class MobilePhone implements IProduct{
@Override
public void use() {
System.out.println("移动电话");
}
}
class Fan implements IProduct{
@Override
public void use() {
System.out.println("电风扇");
}
}
/**
* 工厂层次
*/
interface IFactory{
public IProduct create();
}
class MobilePhoneFactory implements IFactory{
@Override
public IProduct create() {
return new MobilePhone();
}
}
class FanFactory implements IFactory{
@Override
public IProduct create() {
return new Fan();
}
}
public class FactoryMethod {
public static void main(String [] args){
IFactory mfFactory=new MobilePhoneFactory();
IProduct mfProduct=mfFactory.create();
mfProduct.use();
IFactory fanFactory=new FanFactory();
IProduct fanProduct=fanFactory.create();
fanProduct.use();
}
}
/**
运行结果:
移动电话
电风扇
*/
/**
* 产品层次
*/
interface IProduct{
public void use();
}
class MobilePhone implements IProduct{
@Override
public void use() {
System.out.println("移动电话");
}
}
class Fan implements IProduct{
@Override
public void use() {
System.out.println("电风扇");
}
}
/**
* 工厂层次
*/
interface IFactory{
public IProduct create();
}
class MobilePhoneFactory implements IFactory{
@Override
public IProduct create() {
return new MobilePhone();
}
}
class FanFactory implements IFactory{
@Override
public IProduct create() {
return new Fan();
}
}
public class FactoryMethod {
public static void main(String [] args){
IFactory mfFactory=new MobilePhoneFactory();
IProduct mfProduct=mfFactory.create();
mfProduct.use();
IFactory fanFactory=new FanFactory();
IProduct fanProduct=fanFactory.create();
fanProduct.use();
}
}
/**
运行结果:
移动电话
电风扇
*/
- 创建型模式_工厂方法
- 设计模式_创建型模式——工厂方法
- 创建型模式_简单工厂
- 创建型模式-工厂方法
- 创建型模式-工厂方法
- 创建型--工厂方法模式
- 工厂方法模式(创建型)
- 创建型模式--工厂方法
- Java设计模式_(创建型)_工厂模式
- Java设计模式_(创建型)_抽象工厂模式
- 设计模式-创建型模式-工厂方法
- 认识创建型模式---工厂方法模式
- 创建型模式之工厂方法模式
- 【设计模式】创建型模式-工厂方法
- 工厂方法模式(创建型模式)
- 创建型模式--工厂方法模式
- 创建型模式之工厂方法模式
- 创建型模式之工厂方法模式
- Android系统手机端抓包方法
- 宏定义 object-c 单例
- org.hibernate.exception.SQLGrammarException: could not insert:
- hdu 1372 Knight Moves <java>
- 用JQuery实现表格隔行换颜色
- 创建型模式_工厂方法
- SQL数据的分组与聚合
- 编写函数实现求余运算
- Facebook开放平台分析
- 利用animation轻松写出动态加载框
- ajax 返回radio 和select
- arm gcc内嵌汇编
- android viewlist
- Google Analytics——10条有用教程