简单工厂Factory


本文摘自PHP中文网,作者巴扎黑,侵删。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

package net.util;

/**

 * @项目名:spring2.5

 * @包名:net.util

 * @文件名:FactoryDemo.java

 * @日期:Jun 21, 2011 4:37:02 PM

 * @备注:工厂模式

 * @作者:apple

 */

public class FactoryDemo {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Car c=Factory.getCarInstance("Banz");

if(c!=null){

c.run();

c.stop();

}

else{

System.out.println("制造不了");

}

}

}

class Factory{

public static Car getCarInstance(String type){

Car c=null;

try {

c=(Car)Class.forName("net.util."+type).newInstance();

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return c;

}

}

interface  Car{

public void run();

public void stop();

}

class Banz implements Car{

public void run() {

// TODO Auto-generated method stub

System.out.println("Banz跑");

}

public void stop() {

// TODO Auto-generated method stub

System.out.println("Banz停");

}

}

class Ford implements Car{

public void run() {

// TODO Auto-generated method stub

System.out.println("Ford跑");

}

public void stop() {

// TODO Auto-generated method stub

System.out.println("Ford停");

}

}

相关阅读 >>

c++如何获取系统时间?

c++中对象如何作为参数传递和返回?(代码示例)

c++中如何避免内存泄漏?

c语言开根号代码是什么

学好c语言可以干什么?

c语言中 gets 和 getchar 区别?

c++学习基础知识--this指针、静态成员、常量成员函数

c++中string类的常用方法有哪些

c++中头文件和源文件的区别是什么

c++中不能重载的运算符有哪些

更多相关阅读请进入《c》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...