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();
}
}
/**
运行结果:
移动电话
电风扇
*/