1、物件和封裝
1.1構造方法的作用
例項化物件並完成屬性的初始化。系統會提供乙個預設無參的構造方法。
public 類名()
1.2什麼是構造方法?
語法訪問修飾符 類名(引數列表)
特點:1、方法名與類名相同
2、不能有返回值,不能用void
3、修飾符一般是public
1.3this關鍵字
this:指向當前物件,用於區分屬性和形參
自定義構造方法時,系統不再提供預設無參的構造方法。
1.4方法過載的好處?
方法過載jvm會根據方法引數的個數和型別自動匹配相應的方法並執行。
1.5什麼是方法過載呢?
1、方法名相同
2、引數不同(引數的個數或型別不同)
3、與修飾符和返回值無關
構造方法一種特殊的方法,也可以過載。
1.6什麼是封裝?
物件導向三大特徵: 封裝、繼承和多型。
封裝:實現資訊的隱藏,資料的保護。
特點:不能直接訪問,而是通過特定的方法。
1.7封裝的好處?
隱藏實現細節,方便加入訪問控制,方便修改維護。
1.8封裝的實現
1、屬性私有化private:修飾符,只能在當前類訪問
2、建立公有的getter、setter訪問器,用於對屬性進行讀寫
3、加入訪問控制語句
2、繼承
1.1、為什麼需要繼承?
繼承可以實現**的重用性,方便修改**,減少**量。
生活中繼承:龍生龍,鳳生鳳,老鼠生來會打洞。
1.2、如何實現繼承?
編寫父類,子類 extends繼承父類
1.3繼承的特點
單根性:乙個類只允許有乙個父類,不能多重繼承
傳遞性:a–〉b,b–〉c=〉a-〉c,多級繼承
1.4構造方法執行過程
子類構造方法會預設隱式呼叫父類的無參構造方法。
super();顯示呼叫父類的無參構造方法。
super(name, health, love);//顯示呼叫父類的有參構造方法
protected保護的,可以在子類中訪問
作用域private1.7 為什麼要重寫?override
當父類的方法不能滿足子類需求時,可以定義同名的方法進行方法重寫。
1.8 什麼是方法重寫?
a)方法名相同
b)引數相同(個數和型別必須一致)
c)返回值必須相同或是其子類
d)訪問修飾符不能嚴於父類,假如父類是protected,子類可以是public或protected,不可以是private
1.9方法過載與方法重寫
1.2 什麼是多型?
生活中多型的案例:印表機,水、水蒸氣、冰h20,金剛石和石墨,c;
同一種物質在不同的條件下,擁有不同的狀態。
程式中的多型:同乙個父類物件引用不同的子類物件呼叫同乙個方法卻執行不同的結果。
1.3如何實現多型?
a)子類繼承父類
b)子類重寫父類
c)父類引用子類
父類 物件=new 子類物件();//向上轉型,自動型別轉換
1.4實現多型的兩種形式
父類作為形參
父類作為返回值
1.5 為什麼需要父類轉換為子類?
當需要用父類物件去訪問具體子類特有行為時,需要進行轉換。
1.6向下轉型(強制型別轉換)
不安全?父類轉換為子類不一定都能成功,必須轉換為引用的真實子類型別。
程式設計思想-開閉原則:對修改關閉,對擴充套件開放
4、介面
1.1為什麼用介面?
介面解決了類不能多重繼承的問題。
1.2 什麼是介面?
inte***ce定義介面
1.3介面的特點
a)介面不能被例項化
b)非抽象實現類必須實現介面中的所有方法
c)實現類可以實現多個介面
d)介面中的變數都是靜態常量
1.4如何使用介面?
編寫介面
編寫實現類
使用介面引用實現類[多型]
一般小介面(方法盡量少),不要定義大介面。
物件導向的概念總結
物件導向程式設計定義以及類定義的過程還有幾個強調的點要注意。面向過程程式設計 核心是過程二字,過程指的是解決問題的步驟,即想幹什麼再幹什麼後幹什麼。基於該思想編寫程式就好比在設計一條流水線,是一種機械式的思維方式 優點 複雜的問題流程化 進而簡單化 缺點 可擴充套件性差 物件導向程式設計 核心是物件...
物件導向概念
傳統的程式語言通常劃分成兩個部分 資料和對資料的操作。資料是靜態的,不變的,除非通過操作來改變它。對資料操作的函式並不保留上一次操作時資料的狀態,它們的作用僅體現在運算元據上。很明顯,這種劃分是基於計算機的工作方式,所以您很難忽視它。和無處不在的原料和能量以及名詞和動詞的劃分一樣,它構成了程式的本質...
物件導向概念
程式設計是 程式 員 用特定的語法 資料結構 演算法組成的 來告訴計算機如何執行任務的過程 乙個程式是程式設計師為了得到乙個任務結果而編寫的一組指令的集合,正所謂條條大路通羅馬,實現乙個任務的方式有很多種不同的方式,對這些不同的程式設計方式的特點進行歸納總結得出來的程式設計方式類別,即為程式設計正規...