物件導向三大特性

2021-09-25 10:04:36 字數 1883 閱讀 4837

在物件導向程式設計方法中,封裝(encapsulation)是指一種將抽象性函式介面的實現細節部份包裝、隱藏起來的方法。要訪問該類的**和資料,必須通過嚴格的介面控制。

封裝的優點:

良好的封裝能夠減少耦合。

類內部的結構可以自由修改。

可以對成員變數進行更精確的控制。

隱藏資訊,實現細節。

封裝可以通過private來體現

例:要訪問類中私有成員變數的類都要通過getter和setter方法

繼承就是子類繼承父類的特徵和行為,使得子類物件(例項)具有父類的例項域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。

父類又叫基類,超類;子類又叫派生類;可以**重用,為多型做準備

特點:「單」繼承

注意:子類可以擴充套件自身功能,也可以直接使用父類的功能,但子類不能修改父類功能

構造方法不叫繼承,但子類可以呼叫父類構造方法,同時類本身可以通過this()互相呼叫自身構造方法

呼叫父類構造方法用super(),呼叫自身構造方法用this()

this()和super()都必須在構造方法首行,如果沒有手動呼叫,則預設是super()

當父類沒有無參構造方法,則子類必須手動呼叫父類有參構造方法

this()和super()不能同時存在

this()不能互相呼叫

多型是同乙個行為具有多個不同表現形式或形態的能力。

多型就是同乙個介面,使用不同的例項而執行不同操作。

條件:有extends和override

語法:父類引用 = 子類物件

引用負責呼叫,滿足就近原則,從當前類中一致到object為止

物件負責執行

注意:父類引用不能呼叫子類特有方法

多型的優點

消除型別之間的耦合關係

可替換性

可擴充性

介面性靈活性

簡化性

多型存在的三個必要條件:繼承、重寫(override)、父類引用指向子類物件

public class animal extends object 

public animal(int n)

// void eat()

}

//extends 繼承:父類有的,子類可以直接使用

//作用:**重用

//語法:理解?

//父類又叫基類,超類

//子類又叫派生類

//extends 特點:「單」繼承

//1. 乙個子類只有乙個"直接父類",但乙個父類可以同時有多個子類

類是所有類的父類(如果不手動extends,則預設繼承object)

//3.類可以多重繼承(乙個子類可以有多個不同的父類)

//4.子類可以直接使用父類的,還可以定義自身的功能

//5.子類可以使用父類的,但沒有修改父類的功能許可權

//6.構造方法不能繼承

//7.自定義類是否有且必須有乙個父類?

public class cat extends animal

// 有參呼叫無參

public cat(int n)

public void catchmouse()

// 方法重寫

// 1.訪問控制符可以變大或者相等,但不能變小(父類不能是private)

// 2.static修飾的方法不叫override

// 3.返回值型別,方法名,引數相同

// 4.子類不能比父類丟擲更多的異常

@override

public void eat()

}class dog extends animal

public class test 

}

物件導向三大特性

什麼是物件導向呢?之前我們做一件事的時候,常常是確定,先幹什麼,然後怎麼做,最後可以完事了。其實我們不妨這麼想一下,我們做事的時候是可以這樣的 這件事中涉及了什麼物件角色?如果我要把這件事做成那麼就需要物件之間是如何協作的?第二種方法,就是今天說的物件導向的方法了,好處正在慢慢體會。今天我想說的物件...

物件導向三大特性

0x00 嘮嘮叨叨 只是做乙個概念的記錄 0x01 物件導向的三大特性 n 封裝 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。類將成員變數和成員函式封裝在類的內部,根據需要設定訪問許可權,通過成員函式管理內部狀態。n 繼承 繼承所表達的是類...

物件導向三大特性

封裝 oo將萬物都視為 物件 object 任何物件都具有特性和行為。我們將其特性稱為 成員變數 membervarible 將其行為稱之為 成員函式 member function 被封裝的特性只能通過特定的行為去訪問。好處 良好的封裝可以降低耦合度 類的內部可以自由修改 類具有對外的清晰介面。繼...