面向對象(1):
--現實世界是由對象和對象之間相互作用共同組成的。
--每個對象有自己的特有特性,也有自己專有的方法。外部對象想要調用這些方法,可以向它請求並傳入參數,等方法執行結束後,返回結果。
--對象 = 屬性 + 方法
--對象的規範 = 屬性定義 + 方法定義
面向對象(2):
Java中,引入對象和類的概念
--對象是一個變量(具體的東西)
--類就是類型(是規範,是定義),從萬千對象中抽取共性
--類規定了對象應該有的屬性內容和方法
--對象是類的具體實現,是活生生的
--例如:土豆絲菜譜是類,一盤土豆絲是對象
面向對象(3):
--從程序發展的角度來理解,OO(Oriented Object)是對OP(Oriented Procedure)的一種改進。
--OP的典型代表是C語言和Pascal。更強調方法動作,所有的變量是被動參與進來,沒有自主決定權。
--OO的方法屬於每個對象的。能否實現是由每個對象說了算的,有主人翁精神。
面向對象(4):
--變量定義的變遷:更加功能強大
--基本類型(一種變量)-》 結構體(多種變量捆綁) -》類(多種變量+方法)
--類可以繼承:子類可以繼承父類所有內容(不能直接訪問private成員),而基本類型無法做到,結構體只能做到全部包括,不能控制包含粒度。
面向對象(5):
面向對象(6):
--OO最早的始於Simula 67,成形於20世紀70年代Smalltalk
--當前最主要的代表是C++和Java
--面嚮對象語言主要特點:
(1)識認性:辨識、認定對象
(2)類別性:歸類對象
(3)多態性:同類的對象有共性,也有差異
(4)繼承性:子類繼承父類所有的東西
面向對象(7):
OO總結:
--現實世界是由對象和對象之間相互作用共同組成的
--對象不僅包括成員變量,還有成員方法
--對象的內容可以繼承
舉個例子:
面向過程實例(OP)
面向對象實例(OO)
繼承的實例: