简单工厂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++入门学习书籍(书单)

strcmp在c语言中是什么意思?

c++实现最短路径之dijkstra算法

关于c++中的引用总结

c语言break和continue用法

c中printf、sprintf和fprintf的区别(代码示例)

详解c++ 多态公有继承

c++定义数组的方法

必学!c++实现多态机制满足的基本条件条件

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



打赏

取消

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

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

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

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

评论

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