当前位置: 移动技术网 > IT编程>软件设计>设计模式 > 设计模式——工厂模式

设计模式——工厂模式

2019年01月13日  | 移动技术网IT编程  | 我要评论

普通工厂模式 若干接口+若干实现类+一个工厂类+测试类

//首先定义一个接口
1 public interface zoo { //动物接口 2 void wlak();//每个动物都能有自己移动的方式 3 void eate();//每个动物都由自己吃饭的方式 4 }
//若干实现类 dog
 public class dog implements zoo {//dog实现zoo
2 public void wlak() { 3 system.out.println("dog.wlak()"); 4 5 } 6 public void eate() { 7 system.out.println("dog.eate()"); 8 } 9 }
//若干实现类 cat
1 public class cat implements zoo{//cat实现zoo 2 3 @override 4 public void wlak() { 5 system.out.println("cat.wlak()"); 6 7 } 8 9 @override 10 public void eate() { 11 system.out.println("cat.eate()"); 12 13 } 14 }
// 工厂类
1 public class animals { 2 public zoo returnanimal(string name) { 3 if("cat".equals(name)) { 4 return new cat(); 5 }else { 6 return new dog(); 7 } 8 9 } 10 11 }
//这里可能出现字符串不匹配的情况,从而导致实例不能正常被创建,为了解决这个问题下面会单独介绍

 

//最后,写一个测试类,用于实现目标功能

public class demo1 {

public static void main(string[] args) {

// todo auto-generated method stub


animals animals=new animals();


zoo cat=animals.returnanimal("cat");


cat.eate();


cat.wlak();


zoo dog=animals.returnanimal("dog");


dog.eate();


dog.wlak();

}

}


//设计模式,普通工厂模式,定义一个接口用于保存工厂产品的共同特性,实现产品接口,用于构造产品,实现不同产品的不同细节


2.为了解决上面字符串参数传入错误,不能正常创建实例时,采用下面的方法,更改工厂类。

1 public class animals {
2     public zoo creatdog() {
3         return new dog();
4     }
5     public zoo creatcat() {
6         return new cat();
7     }
8 
9 }
//工厂类里有多个小工厂

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网