探討OOP

原创 2004年08月19日 14:22:00

探討OOP

  有一個笑話: 

一個人到了硅谷,發現有賣猴子的,一只1000美元,一問,原來這只猴子能寫出風格良好的C語言代碼;在旁邊還有另一只猴子,標價5000美元,那人奇怪的問老板: 它會甚麼?

老板回答: 它會寫C++代碼,面向對象的,很流行喔!

流行的確很誘人,我也是因為流行,才開始學習C++的。但是流行的並不一定就好,比如非典。

?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Koening大師有一句名言: 用類來表示概念。其實Bijarney在發明C++的時候,目的也就是讓每一個概念清晰化。

台灣人管面向對象叫: ”物件導向,這種說法非常形象。我們的動作都是作用在某種事物(物件)上的,把這個物件連同對它的動作合併起來,就是一個物件導向模型。

面向對象程序開發的好處在於封裝,每一個概念和相關的操作都被組合成了一個整體,類的實例是對象,對象之間通過消息傳遞來相互作用,而對彼此的具體實現不用關心。這樣,我們只需要關心每一個概念是否正確,而不用管概念之間出了甚麼事情。

?

面向對象的另一個好處是組合繼承。車輪和車架兩個類組合成了車子,而摩托車繼承了自行車的所有功能還有自己的額外功能。

彼此之間配合的類可以組合,彼此之間有功能涵蓋關係的類可以繼承。這點需要尤其注意,否則就會出現一個鴕鳥類居然有的方法。

一只公雞抓著剛下蛋的母雞痛打,為甚麼? 因為那只母雞下了一個鴨蛋。

OOP是個雙面斧,它可以讓你更輕鬆,也可以生出許多莫名其妙的錯誤來。

?

對於科學計算以及其他面向數據的操作,OOP並沒有優勢。科學家們完全沒有必要編寫一個高階偏微分方程類用于科學計算。相反,如果採用FORTRAN這樣的結構化語言,則無論效率還是程序的質量,可以預期都是遠遠超過OOP語言的。

而在面向事務處理,還有Windows應用程序,OOP的優勢就很明顯了。由於OOP的封裝和可擴充性,程序具有了很好的穩定性和可維護性。

?

了解了面向對象的原理,很容易理解為甚麼它會流行,那是因為Windows流行的緣故。充分發揮個種語言的優勢,該用甚麼用甚麼,才是正確的態度。5000美元的C++並不見得就比1000美元的C更了不起。

Python OOP知识积累

目录目录 前言 对象 类 面向对象 Python 面向对象编程三个基本特征 封装 继承 继承的作用 实现继承的方式 多重继承 多态 方法多态 最后前言Python是一个功能非常强大的编程语言、玩法很多...
  • Jmilk
  • Jmilk
  • 2016年02月19日 22:12
  • 1497

MATLAB OOP记点东西

MALAB采用OOP编程的一个小例子,主要解决麻烦在于构造以及内部成员变量的调用,与其他的OOP方法有不少区别...
  • fzxy002763
  • fzxy002763
  • 2014年01月26日 22:31
  • 2116

【学习笔记】对OOP思想及基本设计原则的理解

OO方法(Object-Oriented Method,面向对象方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念基础上的方法学。再分为OOA...
  • qq157962718
  • qq157962718
  • 2016年03月27日 08:30
  • 3062

TwinCAT3_PLC_OOP教程V3.2

  • 2018年01月12日 16:53
  • 2.72MB
  • 下载

STM32F407+OOP+FSM设计思想

  • 2018年01月10日 13:44
  • 9.07MB
  • 下载

Scala—OOP到FP的变迁

  • 2014年05月29日 14:07
  • 138KB
  • 下载

高焕堂:复习基本OOP知识Part3

  • 2014年05月29日 14:07
  • 793KB
  • 下载

高焕堂:复习基本OOP知识Part1

  • 2014年05月29日 14:07
  • 852KB
  • 下载

oop与javascript

  • 2011年09月30日 11:26
  • 120KB
  • 下载

JavaScript与OOP

  • 2011年01月02日 17:00
  • 30KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:探討OOP
举报原因:
原因补充:

(最多只允许输入30个字)