物件導向的基本特性

2021-10-20 21:22:49 字數 1642 閱讀 4658

概念:將類的某些資訊隱藏在類內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作,常見的實現方式是:getter,setter。

成員變數:成員變數就是方法外部,類的內部定義的變數;隨著物件的建立而建立,隨著物件的消失而消失,存在於物件所在的堆記憶體中。

區域性變數:區域性變數就是方法或語句塊內部定義的變數。區域性變數必須初始化。 形式引數是區域性變數,區域性變數中基礎資料型別的引用和值都儲存在棧中,物件引用存在棧中,物件存在堆中。作用的範圍結束,棧幀釋放,變數就消失。

概念:繼承是類與類的一種關係,子類擁有父類的所有屬性和方法(private修飾的除外)從而實現了**的復用。

繼承與實現的區別

1)概念不同

繼承:子類與父類的繼承。如果多個類的某個部分的功能相同,那麼可以抽象出乙個類出來,把他們的相同部分都放到父類裡,讓他們都繼承這個類。

實現:介面的實現。如果多個類都有乙個行為,但是處理的方法方式不同,那麼就定義乙個介面,也就是乙個標準,讓各個類分別實現這個介面,各自實現自己具體的處理方法。

繼承:extends,實現:implements

3)數量不同

單繼承,多實現。

4)屬性不同

在介面中只能定義全域性常量(static final),和空的方法體;而在繼承中可以定義屬性方法,變數,常量等...

5)限制不同

某個介面被類實現時,在類中一定要實現介面中的抽象方法;而繼承則無需。注:介面中都是抽象方法

引用多型:父類引用可以指向本類物件,也可以指向子類物件,引用多型的強大主要體現在呼叫屬性、方法時,可以根據引用具體指向的物件去呼叫,例如:子類中重寫父類的方法

class  a extends b

左邊是引用,右邊new a()才是建立物件。 

方法多型:子類中可以重寫父類的方法,在呼叫方法時根據引用指向的子類物件決定呼叫哪個具體的方法。方法多型的強大體現在可以根據呼叫時引數的不同,而自主匹配呼叫的方法,列如:過載。

重寫:1)、引數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是過載。

2)、返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載。

3)、訪問修飾符的限制一定要大於被重寫方法的訪問修飾符(public>protected>default>private)

4)、重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常。例如:

父類的乙個方法申明了乙個檢查異常ioexception,在重寫這個方法是就不能丟擲exception,只能丟擲ioexception的子類異常,可以丟擲非檢查異常。

5)、宣告為 final 的方法不能被重寫。

6)、宣告為 static 的方法不能被重寫,但是能夠被再次宣告。

過載:1)、過載的方法必須改變引數列表(引數個數或型別不一樣);

2)、過載的方法可以改變返回型別;

3)、過載的方法可以宣告新的或更廣的檢查異常;

4)、方法能夠在同乙個類中或者在乙個子類中被過載。

5)、無法以返回值型別作為過載函式的區分標準。

不能重寫,但是可以被過載,知識點:子類不能繼承父類的構造方法

物件導向三大基本特性

三大特性是 封裝,繼承,多型 所謂封裝 也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。封裝是物件導向的特徵之一,是物件和類概念的主要特性。簡單的說,乙個類就是乙個封裝了資料以及操作這些資料的 的邏輯實體。在乙個物件內部,某些 或某些資料...

物件導向的特性

1.抽象 抽象就是忽略乙個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。2.繼承 繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方...

物件導向特性

三大特性 封裝 繼承 多型 封裝封裝屬性 1,私有化成員變數 2,提供get,set方法 3,在方法的內容加入控制語句 static靜態 修飾 成員屬性 方法 塊 static成員屬性 靜態變數,全域性變數 static成員 塊 用於初始化靜態變數 static成員方法 靜態方法 同一類中,在靜態方...