黑马程序员技术交流社区
标题:
面向对象的设计?
[打印本页]
作者:
午夜b'Boy
时间:
2014-2-25 23:54
标题:
面向对象的设计?
本帖最后由 午夜b'Boy 于 2014-2-28 00:59 编辑
一颗种子,发芽,长成花苗,开花,结果。。用面向对象的思想如何体现?
作者:
午夜b'Boy
时间:
2014-2-26 00:02
个人觉得用枚举,像交通灯的设计,next()一次进入下一个阶段!但都是一个枚举类,具有不同枚举值!
作者:
榨菜
时间:
2014-2-26 00:47
建立一个工厂,原料为种子,可以设置种子有出芽的方法,出来的是苗。 再一个工厂,原料为芽,出来的是苗。 苗有长大的方法,出来的是树。树有开花的方法,出来的是果。
所以可以定义对象有 种子 苗 树 花 果
作者:
我要的幸福呢
时间:
2014-2-26 04:21
我是这么想的,因为植物的生长过程基本上都是这样的,所以可以写一个植物类Plant,有一个生长的方法grow(),种子、发芽、花苗、开花、结果只是植物生长的不同阶段(状态),所以可以定义成常量,用于判断当前处于什么阶段什么的。
因为植物生长都需要阳光水分什么的,所以可以写一个接口,在其中定义一些接收阳光水分之类的方法,让植物类implements这个接口,通过不断接收养分成长到不同的阶段。
然后,因为可以人为的给植物施肥修剪枝叶什么的,所以可以写一个装饰类,在其中提供这些加强的功能。
作者:
午夜b'Boy
时间:
2014-2-26 07:30
我要的幸福呢 发表于 2014-2-26 04:21
我是这么想的,因为植物的生长过程基本上都是这样的,所以可以写一个植物类Plant,有一个生长的方法grow() ...
嗯,感觉已经很接近了,在深入一点,设计一个摘果实的方法,我的想法是此方法接收(植物.class)返回一个果实类,果实内部通过反射得到对应的种子!
作者:
何苦似梦离
时间:
2014-2-26 07:55
本帖最后由 何苦似梦离 于 2014-2-26 08:00 编辑
一颗种子,发芽,长成花苗,开花,结果,我们用一个共同的状态指向它们,也就是植物,然后对象发芽的初始化需要通过,一个函数,这个函数必须获取种子,然后依次类推.
作者:
午夜b'Boy
时间:
2014-2-26 15:25
植物类设计好了之后,要开辟一个牧场,又要如何实现?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2