OOL(Object Oriented Layer):面向對象的層
OOL(Object Oriented Language):面向對象的語言
面向對象的語言
面向對象語言(Object-OrientedLanguage)是一類以對象作為基本程式結構單位的程式設計語言,指用於描述的設計是以對象為核心,而對象是程式運行時刻的基本成分。語言中提供了類、繼承等成分。
面向對象語言借鑑了20世紀50年代的人工智慧語言LISP,引入了動態綁定和互動式開發環境的思耄皇加?0年代的離散事件模擬語言SIMULA67,引入了類的要領和繼承,成形於70年代的Smalltalk。面向對象語言的發展有兩個方向:一種是純面向對象語言,如Smalltalk、EIFFEL等;另一種是混合型面向對象語言,即在過程式語言及其它語言中加入類、繼承等成分,如C++、Objective-C等。
面向對象語言刻畫客觀系統較為自然,便於軟體擴充與復用。有4個主要特點:
⑴識認性,系統中的基本構件可識認為一組可識別的離散對象;
(2)類別性,系統具有相同數據結構與行為的所有對象可組成一類;
(3)多態性,對象具有惟一的靜態類型和多個可能的動態類型;
(4)繼承性,在基本層次關係的不同類中共享數據和操作。
其中,前三者為基礎,繼承是特色。四者(有時再加上動態綁定)結合使用,體現出面向對象語言的表達能力。
一般認為,較典型的面向對象語言有:
SIMULA67,支持單繼承和一定含義的多態和部分動態綁定;Smalltalk支持單繼承、多態和動態綁定;EIFFEL,支持多繼承、多態和動態綁定;C++,支持多繼承、多態和部分動態綁定。四種語言涉及概念的含義雖基本相同,但所用術語有別。