00007物件導向的基本特徵之三 多型

2021-10-09 05:56:45 字數 2929 閱讀 6634

1、封裝

和許可權修飾符有關

2、繼承

extends

3、多型

你們怎去理解多型的呢?

多型:多種形態

變數的引用形式:

(1)本態引用:左邊的變數與右邊的物件是同一種型別

(2)多型引用:左邊的變數是父類型別,右邊的物件是子類的物件

多型的表現出來的特徵:編譯型別與執行時型別不一致

編譯的時候,按照父類的型別進行編譯的

執行的方法,按照子類進行執行,是「執行子類重寫的方法」

編譯看左邊,執行看右邊

/*

* 一、物件導向的基本特徵:

* 1、封裝

* 和許可權修飾符有關

* 2、繼承

* extends

* 3、多型

* * 二、多型

* 多型:多種形態

* * 變數的引用形式:

* (1)本態引用:左邊的變數與右邊的物件是同一種型別

* (2)多型引用:左邊的變數是父類型別,右邊的物件是子類的物件

* * 多型的表現出來的特徵:編譯型別與執行時型別不一致

* 編譯的時候,按照父類的型別進行編譯的

* 執行的方法,按照子類進行執行,是「執行子類重寫的方法」

* * 編譯看左邊,執行看右邊

* * 前提:(1)繼承(2)重寫(3)多型引用

* 用途:方法的動態繫結

* 強調:多型和屬性無關,只說方法

* * 網上也有人這麼說,把過載也歸為多型,我們不這麼認為

* */

package com.atguigu.test02.polymorphism;

public

class

testpolymorphism

}class

person

public

void

walk()

}class

woman

extends

person

public

void

walk()

public

void

shop()

}class

manextends

person

public

void

walk()

public

void

smoke()

}

多型的好處:

使得程式設計師編寫**更靈活

多型的應用:

陣列的元素是父類的型別,實際儲存的是子類的物件

用這樣的陣列,就可以統一管理,所有子類的物件

看例項**

package com.atguigu.test02.polymorphism;

public

class

testuser1}}

//graphic圖形

class

graphic

}class

circle

extends

graphic

//重寫

public

double

getarea()

}class

rectangle

extends

graphic

//重寫

public

double

getarea()

}

執行結果如下

形參是父類的型別,實參是子類的物件

下面看**

/*

* 多型的應用:

* (1)多型陣列:

* 陣列的元素是父類的型別,實際儲存的是子類的物件

* (2)多型引數:

* 形參是父類的型別,實參是子類的物件

*/package com.atguigu.test02.polymorphism;

public

class

testuse2

public static void check(cat cat )*/

public

static

void

check

(animal a)

public

static

void

main

(string[

] args)

}class

animal

}class

dogextends

animal

}class

catextends

animal

}

練習題

/*

1、練習題

(1)宣告traffic,

public void drive()方法

(2)宣告子類car,bicycle,甚至可以宣告car的各種子類,例如bmw,benz類等

(3)在測試類的main中建立乙個陣列,有各種交通工具,遍歷呼叫drive()方法

*/package com.atguigu.test02.polymorphism;

public

class

test練習1}}

class

traffic

}class

carextends

traffic

}class

bicycle

extends

traffic

}

物件導向基本特徵

通過學習設計模式對物件導向程式設計有了更深層次的了解。在 大話設計模式 一書中的第乙個設計模式裡 簡單工廠模式 體會到了自己學習物件導向程式設計時的歷程。首先要保證 無錯,我想這是大部分初學者的心願。其次就是 規範,這一點是很重要的,程式不僅僅是寫給自己看的,更需要讓別人能看懂。別人能看懂還不行,畢...

物件導向基本特徵

物件導向4大基本特徵 抽象 封裝 繼承 多型。抽象。將一些事物的共性抽離出來歸為乙個類。如對於動物,具有生命體徵 活動能力等區別於其它事物的共同特徵 封裝。有選擇地隱藏和暴露資料和方法。比如有u盤這個類,我希望隱藏內部組成和實現,只暴露usb介面以供使用 繼承。子類可以直接使用父類的部分資料和方法,...

物件導向的三個基本特徵 物件導向基本特徵

物件導向的三個基本特徵 封裝是物件和類概念的主要特徵,就是把客觀的封裝起來,只對外暴露出來,並把自己的資料和方法只讓可信的類或物件操作作用 隱藏實現細節,使得 模組化 使用現有類的所有功能,並且無需重新編寫原來的類中的方法對這些功能的擴充套件,oc只能實現單繼承,如果想要實現多繼承的話可以通過分類或...