面向對象的主線:
-
Java類及類的成員:屬性、方法、構造器(高頻);代碼塊、內部類(低頻) (類是由對象派生的)
-
面向對象的三大特徵:封裝(Encapsulation)、繼承(Inheritance)、多態(Polymorphism)、(抽象性)
-
其它關鍵字:this、super、static、final、abstract、interface、package、import等
面向過程(ProcedureOrientedProgramming)與面向對象(ObjectOriented Programming)的理解
二者都是一種思想,
面向對象是相對於面向過程而言的。
面向過程,強調的是功能行爲,以函數爲最小單位,考慮怎麼做。
面向對象,將功能封裝進對象,強調具備了功能的對象,以類/對象爲最小單位,考慮誰來做。而且更加強調運用人類在日常的思維邏輯中採用的思想方法與原則,如抽象、分類、繼承、聚合、多態等。
1.面向過程:強調的是功能行爲,以函數爲最小單位,考慮怎麼做。
2.面向對象:強調具備功能得對象,以類/對象爲最小單位,考慮誰來做。
舉例說明:用“人把大象裝進冰箱”的例子,來說明面向過程和麪向對象的區別
- 1.面向過程:強調的是功能行爲,以函數爲最小單位,考慮怎麼做。
① 把冰箱門打開
② 擡起大象,塞進冰箱
② 把冰箱門關閉
- 2.面向對象:強調具備了功能的對象,以類/對象爲最小單位,考慮誰來做。
人{
打開(冰箱){
冰箱.開開();
}
擡起(大象){
大象.進入(冰箱);
}
關閉(冰箱){
冰箱.閉合();
}
}
冰箱{
開開(){}
閉合(){}
}
大象{
進入(冰箱){
}
}
面向對象的思想概述
類(Class)和對象(Object)是面向對象的核心概念。
類是對一類事物的描述,是抽象的、概念上的定義
對象是實際存在的該類事物的每個個體,因而也稱爲實例(instance)。
程序員從面向過程的執行者轉化成了面向對象的指揮者
面向對象分析方法分析問題的思路和步驟:
- 根據問題需要,選擇問題所針對的現實世界中的實體。
- 從實體中尋找解決問題相關的屬性和功能,這些屬性和功能就形成了概念世界中的類。
- 把抽象的實體用計算機語言進行描述,形成計算機世界中類的定義。即藉助某種程序語言,把類構造成計算機能夠識別和處理的數據結構。
- 將類實例化成計算機世界中的對象。對象是計算機世界中解決問題的最終工具。
面向對象的兩個要素:類和對象
-
類 :對一類事物的描述,是抽象的、概念上的定義
-
對象:是實際存在的該類事物的每個個體(實實在在的個體),因而也稱爲實例(instance)。
以人爲例子: 類 = 抽象概念的人 ; 對象 = 實實在在的某個人 -
面向對象程序設計的重點是類的設計
-
設計類,就是設計類的成員。
二者關係:對象是由類派生(new)出來的、對象是類的實例化
類的結構:屬性和方法
現實世界的生物體,大到鯨魚,小到螞蟻,都是由最基本的細胞構成的。
同理,Java代碼世界是由諸多個不同功能的類構成的。
現實生物世界中的細胞又是由什麼構成的呢?細胞核、細胞質、…那麼,Java中用類class來描述事物也是如此。常見的類的成員有:
屬性:對應類中的成員變量
行爲:對應類中的成員方法
類和對象的創建和執行操作有那三步(落地實現的規則)?
①創建類,設計類的成員
②類的實例化(創建類的對象)
③通過“對象.屬性”或 “對象.方法”調用對象的結構
幾個常用的概念
- 屬性= 成員變量 = Field = 域、字段
- 方法= 成員方法 = Method =函數
- 創建類的對象 = 類的實例化 = 實例化類