Re: 不懂如何抽离物件(初学物件导向的问题)

楼主: guest0079 (SpongeBob SquarePants)   2008-10-04 03:53:50
物件导向只是处理问题、看待问题的一种方法
这套方法本身就是个抽像的观念,比较像是一门艺术
学物件导向时,不要把它看成像是数学、物理之类有既定事实的学问
它比较像是学一门语文,慢慢习惯它,并接受它的矛盾之处
它只分比较好的物件导向跟比较差的物件导向,
没有所谓的“对的物件导向”“不对的物件导向”
所以不要问为什么要抽像化的那么仔细,也不要问为什么要做这件抽像化
只因为爽啊,换个方式抽像化也可以啊
不要把物件导向看成是一门专门的学问,你只是在利用它罢了
就像你只是在利用中文与其他人做沟通
而透过沟通,从小就渐渐地把中文学好
要怎么像学中文一样把物件导像的观念学起来呢?
版友有说要看专门讲物件导向的书
我尊重版友的意见,但那是等变成高手以后的事
最直接的方法就是,先把Java学会,再慢慢研究Java的封装、继承、多型
有缘的话就会了
我这么说会产生三个问题:
1. 为什么不先看专门讲物件导向的书?
2. 为什么是学Java?而不是C++或其他更物件导向的语言
3. 为什么有缘就会了?没缘是不是就不会了?
1. 为什么不先看专门讲物件导向的书?
因为太浪费时间了啊,看了又怎样,看了还是不会写程式啊
不会写程式怎么实现物件导向?
应该先学会物件导向的程式语言,再学物件导向的观念才对
不懂物件导向也不会写程式的人,应该要先学着写程式,再学写出物向导向的程式
不管从那端开始学都会觉得力不从心,这是一定的,这会让人想放弃
初学者如果先学物件导向,学一半后放弃,这跟没学一样,什么都不能做
初学者如果先学程式,学一半后放弃,致少还会写一点点程式,解解小问题
初学者不要还不会物件导向的程式语言就先看物件导向的书
你怎么知道你不会放弃呢?
2. 为什么是学Java?而不是C++或其他更物件导向的语言
因为CP值高啊 投资报酬率高啊
上104看资讯类职缺的需求 Java / C++ 就超过一半,其他十数种语言占另一半
这表示会Java/C++好找工作多了
这也表示这个社会用Java/C++来解决问题,比用其他程式语言来多的多
反过来说,用Java/C++可以解决大部份用程式方面的问题
那为什么不先学C++? C++也是物件导向的语言
因为C++太庞大、太复杂了,容物让初学者迷失方向
3. 为什么有缘就会了?没缘是不是就不会了?
全世界的政要,有多少人懂物件导向程式语言?
全世界的工程师,有多少人懂物件导向
全世界的程式设计师,有多少人懂物件导向
物件导向不是万灵丹,会物件导向的人不会比较有出息
你会打狗棒法还不就是一个要饭的
你会物件导向还不就是一个在写程式的
最后给原发文者
你想学物件导向的话,就不要只是写写小程式架架网站
凡人想学英文还是去英国学比较快啦
找份Java的兼职工作,一年后必有所成
※ 引述《andrew43 (Myrmarachne)》之铭言:
: 各位先进早安。
: 小弟从小到大学习接触的全都是面向导向语言。最
: 常用的是 PHP 与 Matlab/GNU Octave。换言之,
: 我从来没有撰写“物件”这东西的经验。
: 最近买了二三本 JAVA 的书来学习,发现书中很多
: 例子使我跟不上作者的脚步。有的例子是“干嘛抽
: 象化得这么仔细?”,有的是“为什么要做这件抽
: 象化?”。追根究底,我对于“物件导向”的思考
: 方式应该是零分吧。
: 我也试着把物件导向的优点与过去撰写面向导向语
: 言的经验结合在一起,例如在 PHP 中我了解使用
: Function 以达到多次重复使用相同运作的过程与
: 优点,但单单把 Function 抽象化成物件,似乎并
: 不能完全掌握到物件导向语言的优点啊。再加上,
: 物件里又有成员与方法的概念,这已经超过我过去
: 经验所能理解的范围了。更不用谈什么继承、多型
: 的概念了。
: 这种感觉就好像打篮球几十年,却遇到一个好教练
: 要你重练运球一样。
: 在版上看了许多先进的文章,了解到小弟在“抽象
: 化”的能力有所不足。小弟并非本科生,使用程式
: 语言的需求也仅止于一些手算到断掉也算不完的科
: 学运算及闲闲没事做自己架架网站。是不是因为这
: 些需求算是小 case 所以比较不容易使我了解到物
: 件导向的优势?但小弟又觉得,“抽象化”对于思
: 考应该是一种非常有益的训练,所以我仍想学习物
: 件导向语言。
: 说了很多蠢问题和废话,小弟真心地想听听先进们
: 的分享,或是经验谈也好,以点破我完全搞不懂物
: 件导向的思考方式之盲点。拜谢。

Links booklink

Contact Us: admin [ a t ] ucptt.com