工厂方法模式

工厂方法模式是简单工厂模式的扩充。

在使用工厂模式时,当需要增加一个类新的实例时,就需要在工厂类中增加代码。

这样不便于后期代码的维护。

 

工厂方法类将原来的工厂类中的创建类的对象的方法抽象出来,然后创建生成每个具体实例的工厂类。

当需要增加性的实例时候,只需要增加一个具体的创建产品的工厂类和具体产品类就行了。

 

1,所有动物类的接口

package joeho.net.csdn.blog.SimpleFactory;

public interface Animal {
 public void eat();
}

2,老虎类

package joeho.net.csdn.blog.SimpleFactory;

public class Tiger  implements Animal{
 
 public void run() {
  System.out.println("老虎会跑");
 }
 public void eat() {
  System.out.println("老虎会吃");
 }
}

3,海豚类

package joeho.net.csdn.blog.SimpleFactory;

public class Doiphin  implements Animal{
 

 public viod swim() {

  System.out.println("海豚会游泳");
 }

 public void eat() {

  System.out.println("海豚会吃");
 }
}

4,鹦鹉类

package joeho.net.csdn.blog.SimpleFactory;

public class Parrot implements Animal {
 
 public void fly() {

  System.out.println("鹦鹉会飞");
 }

 public void eat() {

  System.out.println("鹦鹉会吃");
 }
}

5,抽象工厂类

package joeho.net.csdn.blog.SimpleFactory;


public interface AnimalFactory {

 public  Animal creatAnimal() ;
}

 

6,具体工厂类

package joeho.net.csdn.blog.SimpleFactory;


public class TigerFactory implements AnimalFactory {

 public  Animal creatAnimal(){

 

  return newTiger ();


}

 

..............

.............
5,客户端调用代码

Animal anm = TigerFactory .creatAnimal();

 anm.run();

anm.eat();

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/joeho/archive/2010/01/20/5218825.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值