日期:2014-05-19  浏览次数:21183 次

请教:以圆珠笔为题材描述面向对象思想
小鸟一只,最近学编程,关于面向对象的思想,看的糊里糊涂,请各位兄弟姐妹以形象的语言描述面向对象思想,例如以圆珠笔作为题材。不需要非常完备,只需要点出几个面向对象非常关键性的术语。

------解决方案--------------------
楼主写的是“圆珠笔”
到了一楼变成了“园珠笔”

就是在重写了父类的Name属性
为了防止重写,建议将Name设置成readonly
------解决方案--------------------
圆珠笔是笔的一个子类
笔还有其他的子类,比如水笔,钢笔
它们共同的特点是有“写”这个功能
使用“笔”的人可以不管手里到底是什么笔,反正抓起来就能写,嗯。
------解决方案--------------------
面向对象思想三大特点:

1.继承:第二批制作的圆珠笔,继承了第一批的笔芯。而把外壳给改掉了...

2.多态:晨光牌圆珠笔也是圆珠笔,白雪牌圆珠笔也是圆珠笔,都可以写。
但是他们圆珠笔的颜色不一样,大小不一样,款式不一样,出产地不一样...

3.封装:我们看到的圆珠笔我们只要管它好不好写就是了,内部的结构我们不必去关心,让他封起来吧
------解决方案--------------------
它们之间的不同,比如钢笔需要进水,圆珠笔是用油墨的,这个专业术语方面又怎么描述?
--------
抽象--颜料
具体--墨水、油墨

“使用‘笔’的人可以不管手里到底是什么笔,反正抓起来就能写”,同样,这个专业方面又怎么描述?
-----------------
这个是里氏代替原则
------解决方案--------------------
想学习面向对象不能这样从小的来入手。
不然只会越弄越糊涂。
首先从大的角度来看面向对象的特性:封装、继承和多态。
与面向过程、面向服务或其他的有什么区别呢?(区别自己调查下看)

然后就看你说的这支圆珠笔吧,
先从面向对象角度来入手:
我们都知道它能写字,画画或做其他的什么事情,但说到它为什么能这么做,大家都不明白了吧,事实上我们根本就不需要明白,这在面向对象思想中即是封装。封装功能,提供接口。
但是有人注意到了,有的笔啊不仅能写字还能扫描,比如汉王。。。(名字记不全了)
这个笔已经脱离了笔的本来功能,但它仍是笔,只不过多普通的笔具备更多的一些功能
同样这个面向对象思想中叫做继承,继承笔的特点,扩展更多的特性

同样也有人注意到了,有的笔不仅能用,还能实现多种颜色于一体,好神奇啊。娃哈哈
还记得小时候的多色笔么?一根笔中有多个笔芯,所以有多个颜色,想想看哦,一个接口,多个笔芯都能从中出来写字。想多态么?其实和面向对象思想中的多态很像。。。。


不写了,献丑了
OO只是一种思想,其实用什么东西表达都不能完完全全表达出来,主要靠理解