八 繼承多型

2021-08-15 11:17:23 字數 1587 閱讀 5041

繼承的格式:

public class 子類名extends 父類名 {}

繼承的好處:

a:提高了**的復用性

b:提高了**的維護性

c:讓類與類之間產生了關係,是多型的前提

繼承的弊端:

讓類與類之間產生了關係,也就讓類的耦合性增強了。

開發原則:高內聚,低耦合。

內聚:就是自己完成某件事情的能力

耦合:類與類的關係

特點:單繼承

二、super

super的用法和this很像

this代表本類物件的引用

super代表父類儲存空間的標識(可以理解為父類物件引用)

用法(this和super均可如下使用)

訪問成員變數

this.成員變數 super.成員變數

訪問構造方法

this(…)super(…)

訪問成員方法

this.成員方法()   super.成員方法()

三、構造方法

1、不能被繼承

2、先呼叫父類的無參構造,在呼叫子類的無參構造

四、方法重寫override

定義:子類中出現了和父類中一摸一樣的方法宣告

方法重寫的注意事項:

父類中私有方法不能被重寫

子類重寫父類方法時,訪問許可權不能更低

子類重寫父類方法時,建議訪問許可權一摸一樣

五、許可權

private->預設(不寫)-->public

六、多型

person p=new student();

p.infor();

system.out.println(p.name);

1、前提:繼承

2、成員變數與成員方法訪問特點

成員變數訪問特點:

編譯看左邊,執行看左邊

p.name得到的是父類成員變數的值

成員方法訪問特點:

編譯看左邊,執行在右邊 

p.infor(),編譯時會先看左父類有沒有此方法,沒有會報錯,如果子類有此方法的重寫則呼叫子類的重寫方法。

*因為方法有重寫,變數沒有

3、多型的好處與弊端

多型的好處:

提高了程式的擴充套件性

多型的弊端:

不能訪問子類特有功能

訪問子類的特有功能:

通過多型中的轉型

4、多型中的轉型問題

向上轉型:

從子到父

父類引用指向子類物件

向下轉型:

從父到子

父類引用轉為子類物件

classcastexception:型別轉換異常

dog dog=new dog();

cat cat=new cat();

animal al=new animal();

animal a=new dog();

dog=(dog)al;//型別轉換異常

dog=(dog)a;//先向上轉型才能向下轉型

userduotai use=new userduotai();

use.useranimal(dog);

use.useranimal(cat);

c (八) 繼承與多型(二)

一 抽象類與動態型別轉換 1 訪問控制屬性 類的定義中有public private和protected三個關鍵字,其中private關鍵字說明類中成員為私有成員,只能在類內的函式訪問 public成員為公有成員,可被任何其他類訪問,protected關鍵字是保護屬性,保護屬性的資料或函式可被派生類...

C 八)基礎篇 繼承和多型

c 本隨筆為個人複習鞏固知識用,多從書上總結與python基礎教程 理解歸納得來,如有錯誤煩請指正 物件導向的三大基本特徵 封裝 繼承 多型 封裝在前面說過了 繼承 繼承是指乙個類可以繼承另乙個類 成為父類 的全部成員變數和方法,並進行擴充套件,重寫父類的方法,或新增新的成員方法和變數。多型 多型是...

C 八)基礎篇 繼承和多型

本隨筆為個人複習鞏固知識用,多從書上總結與理解歸納得來,如有錯誤煩請指正 物件導向的三大基本特徵 封裝 繼承 多型 封裝在前面說過了 繼承 繼承是指乙個類可以繼承另乙個類 成為父類 的全部成員變數和方法,並進行擴充套件,重寫父類的方法,或新增新的成員方法和變數。多型 多型是指將子類轉為父類不需要顯示...