物件導向三大特性:封裝、繼承、多型
封裝:將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問
封裝的好處
隱藏類的實現細節;
只能通過規定方法訪問資料;
方便加入控制語句;
方便修改實現;
封裝的步驟
修改屬性可見性 – 設為private
建立get/set方法 – 用於屬性讀寫public
class
pet
在get/set方法中加入控制語句 – 對屬性進行合法判斷// 建立get方法
public string getname()
// 建立set方法
public
void
setname
(string name)
繼承:使用繼承可以優化**,將重複**抽取到父類當中,減少**量,方便修改**public
void
setage
(int age)
}
使用繼承
編寫父類
編寫子類,繼承父類class
pet
class
dogextends
pet
繼承的特性class
catextends
pet
子類訪問父類成員
使用super關鍵字
//構造器
public dog()
super.name;
super.print();
不可被繼承的資源
多型:指乙個行為,擁有多種不同表現形式。 例:小明擁有人類形態同時擁有學生形態
優點:可擴充套件性強
使用多型實現思路
編寫父類
編寫子類,子類重寫父類方法class
pet}
執行時,使用父類型別,子類物件class
dogextends
pet}
何時使用多型class
catextends
pet
1.當父類為方法引數
2.當父類作為方法返回值
只能呼叫父類有的方法
例:建立父類並新增方法
建立子類重寫父類方法並新增獨有方法public
class
father
}
使用多型呼叫方法public
class
sonextends
father
public
void
play()
}
編譯看左邊,執行看右邊public
class
main
}
物件導向三大特性
什麼是物件導向呢?之前我們做一件事的時候,常常是確定,先幹什麼,然後怎麼做,最後可以完事了。其實我們不妨這麼想一下,我們做事的時候是可以這樣的 這件事中涉及了什麼物件角色?如果我要把這件事做成那麼就需要物件之間是如何協作的?第二種方法,就是今天說的物件導向的方法了,好處正在慢慢體會。今天我想說的物件...
物件導向三大特性
0x00 嘮嘮叨叨 只是做乙個概念的記錄 0x01 物件導向的三大特性 n 封裝 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。類將成員變數和成員函式封裝在類的內部,根據需要設定訪問許可權,通過成員函式管理內部狀態。n 繼承 繼承所表達的是類...
物件導向三大特性
封裝 oo將萬物都視為 物件 object 任何物件都具有特性和行為。我們將其特性稱為 成員變數 membervarible 將其行為稱之為 成員函式 member function 被封裝的特性只能通過特定的行為去訪問。好處 良好的封裝可以降低耦合度 類的內部可以自由修改 類具有對外的清晰介面。繼...