Guru of the Week 條款13:物件導向程式設計 (轉)
GotW #13
著者:Herb Sutter
翻譯:kingofark
[宣告]:本文內容取自網站上的Guru of the Week欄目,其著作權歸原著者本人所有。譯者kingofark在未經原著者本人同意的情況下翻譯本文。本翻譯內容僅供自學和參考用,請所有閱讀過本文的人不要擅自轉載、傳播本翻譯內容;本翻譯內容的人請在閱讀瀏覽後,立即刪除其。譯者kingofark對違反上述兩條原則的人不負任何責任。特此宣告。
Revision 1.0
Guru of the Week 條款13:面向設計:namespace prefix = o ns = "urn:schemas--com::office" />
難度:4 / 10
(C++是面嚮物件語言嗎?與流行的觀點不同,本條款認為:既是又不是。)
[問題]
“C++是一門強大的語言,提供許多先進的物件導向技術構造,包括封裝、異常處理、繼承、模板、多型、強型別機制和完善的模組(module system)。”
請對這個命題展開討論。
[解答]
本條款的目的是引發對C++一些主要(甚至是缺失的)特點的討論,以提供一劑C++真實本質的營養處方。實際上,最初我還希望討論的最後結果能夠表達出三個要點——我並沒有失望:
1. 並不是所有人都對“什麼是物件導向”這個問題有一致的看法。大部分人應該都一致認為繼承和多型是屬於物件導向的概念;有一些人也會把封裝也算進去;可能只有少數人認為異常處理也屬於物件導向的概念;也許沒有人會把模板也算進去。到目前為止,人們對這個問題仍然有不同的看法。
2. C++是一門支援多種程式設計的語言,並不僅僅是面嚮物件語言。C++支援許多物件導向的特性,但並不強迫程式設計師使用這些特性。你完全可以用C++編寫非物件導向的程式——實際上很多人都這麼做。
3. 沒有哪一門語言是萬能的。今天,我用C++作為我的主要語言;到了明天,我會選擇最適合做我明天要做的事情的任何語言。C++沒有模組系統(module system)(且不說其完善不完善了),還缺少像垃圾收集機制(garbage collection)這樣的特性;C++有靜態的型別機制(static ty),但沒有必要的“強”型別機制(strong typing)。所有的語言都各有其優缺點。應該選擇最適合解決當前問題的語言,抵抗誘惑,避免成為那種目光短淺的語言狂熱者J
(完)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991267/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 13 Python物件導向程式設計:裝飾器Python物件程式設計
- 物件導向程式設計物件程式設計
- Python物件導向程式設計Python物件程式設計
- 程式設計思想 物件導向程式設計物件
- js物件導向程式設計JS物件程式設計
- 十三、物件導向程式設計物件程式設計
- 十六、物件導向程式設計物件程式設計
- Python 物件導向程式設計Python物件程式設計
- JS物件導向程式設計(一):物件JS物件程式設計
- 物件導向程式設計C++物件程式設計C++
- Python OOP 物件導向程式設計PythonOOP物件程式設計
- python技能--物件導向程式設計Python物件程式設計
- javascript:物件導向的程式設計JavaScript物件程式設計
- JS物件導向的程式設計JS物件程式設計
- Javascript 物件導向程式設計(一)JavaScript物件程式設計
- Javascript 物件導向程式設計(二)JavaScript物件程式設計
- Javascript 物件導向程式設計(三)JavaScript物件程式設計
- 06 物件導向程式設計 (續)物件程式設計
- Python物件導向程式設計(1)Python物件程式設計
- Scala的物件導向程式設計物件程式設計
- Python - 物件導向程式設計 - super()Python物件程式設計
- Python - 物件導向程式設計 - @propertyPython物件程式設計
- JavaScript物件導向程式設計理解!JavaScript物件程式設計
- JavaScript-設計模式-物件導向程式設計JavaScript設計模式物件程式設計
- JavaScript設計模式之物件導向程式設計JavaScript設計模式物件程式設計
- 史上最全 Python 物件導向程式設計Python物件程式設計
- 淺談PHP物件導向程式設計PHP物件程式設計
- JS物件導向程式設計(三):原型JS物件程式設計原型
- [筆記]物件導向的程式設計筆記物件程式設計
- python基礎(物件導向程式設計)Python物件程式設計
- java-物件導向程式設計--(3)Java物件程式設計
- python物件導向程式設計基礎Python物件程式設計
- python之物件導向程式設計(一)Python物件程式設計
- 前端_JavaScript_物件導向程式設計前端JavaScript物件程式設計
- 14 Python物件導向程式設計:反射Python物件程式設計反射
- 圖解python | 物件導向程式設計圖解Python物件程式設計
- 物件導向程式設計,不美了麼?物件程式設計
- 物件導向程式設計和`GP`泛型程式設計物件程式設計泛型
- 61條物件導向設計的經驗原則物件