作者andrew43 (Myrmarachne)
看板OOAD
标题不懂如何抽离物件(初学物件导向的问题)
时间Tue Sep 2 09:24:55 2008
各位先进早安。
小弟从小到大学习接触的全都是面向导向语言。最
常用的是 PHP 与 Matlab/GNU Octave。换言之,
我从来没有撰写「物件」这东西的经验。
最近买了二三本 JAVA 的书来学习,发现书中很多
例子使我跟不上作者的脚步。有的例子是「干嘛抽
象化得这麽仔细?」,有的是「为什麽要做这件抽
象化?」。追根究底,我对於「物件导向」的思考
方式应该是零分吧。
我也试着把物件导向的优点与过去撰写面向导向语
言的经验结合在一起,例如在 PHP 中我了解使用
Function 以达到多次重覆使用相同运作的过程与
优点,但单单把 Function 抽象化成物件,似乎并
不能完全掌握到物件导向语言的优点啊。再加上,
物件里又有成员与方法的概念,这已经超过我过去
经验所能理解的范围了。更不用谈什麽继承、多型
的概念了。
这种感觉就好像打篮球几十年,却遇到一个好教练
要你重练运球一样。
在版上看了许多先进的文章,了解到小弟在「抽象
化」的能力有所不足。小弟并非本科生,使用程式
语言的需求也仅止於一些手算到断掉也算不完的科
学运算及闲闲没事做自己架架网站。是不是因为这
些需求算是小 case 所以比较不容易使我了解到物
件导向的优势?但小弟又觉得,「抽象化」对於思
考应该是一种非常有益的训练,所以我仍想学习物
件导向语言。
说了很多蠢问题和废话,小弟真心地想听听先进们
的分享,或是经验谈也好,以点破我完全搞不懂物
件导向的思考方式之盲点。拜谢。
--
http://apansharing.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.128.117.85
1F:推 H45 :先了解「抽象化」的定义,然後了解是否需要抽象化 09/02 09:26
2F:推 twntwn :万物皆物件 抽象化是对一个概念将其以动态与静态两 10/08 19:36
3F:→ twntwn :种观点分别找出状态与行为 在java行为可mapping为 10/08 19:39
4F:→ twntwn :method 而attribe可表状态 外界可透过method来改面物 10/08 19:40
5F:→ twntwn :件的状态 物件与物件间环环相扣 成为一个"系统" 10/08 19:43
6F:→ ktv414520 :我觉得问题的演算法都依样 只是用不同语言写 不一定 06/30 12:24
7F:→ ktv414520 :要了解太深入 只要会用C++的STL来解决问题 就OK了 06/30 12:26