面向對象程式設計語言
Smalltalk
Smalltalk並不是一種單純的程式設計語言,而是反映面向對象程式設計思想的程式設計環境。這個系統強調了對象概念的歸一性,引入了類、方法、實例等概念和術語,套用了單重繼承和動態綁定,成為面向對象程式設計語言(OOPL)發展過程中的一個引人注目的里程碑。
Eiffel
Eiffel的主要特點是全面的靜態類型化、有大量的開發工具、支持多繼承。Eiffel也全面支持面向對象的概念。
C++
C++語言是一種面向對象的強類型語言,由AT&T的Bell實驗室於1980年推出。C++語言是c語言的一個向上兼容的擴充,而不是一種新語言。C++是一種支持多范型的程式設計語言,它既支持面向對象的程式設計,也支持面向過程的程式設計。C++支持基本的面向對象概念:對象、類、方法、訊息、子類和繼承。
Java
Java語言起源於Oak語言,Oak語言能運行在設備的嵌入晶片上。Java編譯成偽代碼,這需要一個虛擬機來對其進行解釋,Java的虛擬機幾乎在每一種平台上都可以運行。這實質上可以使得開發與機器獨立無關,並且提供了通用的可移植性。
Java把類的概念和接口的概念區分開,並試圖通過只允許接口的多繼承來克服多繼承的危險。Java Beans是組件,即類和其所需資源的集合,它們主要被設計用來提供定製的GUI小配件。
Java中關於面向對象概念的術語有對象、類、方法、實例、變數、訊息、子類和繼承。
面向對象語言的優點
面向對象設計的結果,既可以用面向對象語言實現,也可以用非面向對象語言實現。面向對象程式設計語言本身就支持面向對象概念的實現,其編譯程式可以自動地實現面向對象概念到目標程式的映射。而且與非面向對象語言相比,面向對象語言還具有以下一些優點:
(1)一致的表示方法。
面向對象的採用方法從問題域表示到面向對象分析,再到面向對象設計與實現始終穩定不變。一致的表示方法不但有利於在軟體開發過程中始終使用統一的概念,也有利於維護人員理解軟體的各種配置成分。
(2)可重用性。
為了能帶來可觀的商業利益.必須在更廣泛的範圍中運用重用機制,而不是僅僅在程式設計這個層次上進行重用。軟體開發組織既可能重用它在某個問題域內的OOA結果,也可能重用相應的OOD和OOP結果。
(3)可維護性。
在實際軟體系統開發中,維護人員面對的主要是源程式,如果程式設計語言本身能顯式地表達問題域語義,對維護人員理解所要維護的軟體將有很大幫助。
因此,選擇程式設計語言應該考慮的首要因素是,哪個程式設計語言能最好地表達問題域語義。一般來說,實現面向對象分析、設計的結果,應該儘量選用面向對象程式設計語言。