類繼承的實現和作用

2021-08-27 14:31:18 字數 758 閱讀 8456

一、類的繼承

1、格式:public class 子類名 extends 父類名

2、作用:

(1)子類可以直接呼叫父類的屬性和方法,減少了子類中屬性和方法的定義

(2)直接顯示出現實中的關聯關係

3、對於子類特有的方法和屬性,只有子類物件型別才能呼叫

二、自動轉型與強制轉型

自動轉型:

1、格式:父類名 類名簡稱=new 子類名()

2、特點:

(1)由子類物件自動轉型為父類型別時,子類物件只能呼叫在父類中存在的方法

(2)子類物件屬於父類屬性型別

強制轉換:

1、格式:子類名 類名簡稱2= (子類名) 類名簡稱1

2、特點:

(1)父類型別物件轉型為子類型別物件

(2)強制轉換格式不會出現錯誤,但邏輯上會出現錯誤。

(3)只有當需要轉型的物件,在建立時是乙個子類物件才能進行父類轉子類變換

三、重寫

1、原因:子類有與父類相同的方法定義,但方法體不一樣的時候,需要進行重寫

2、特點:

(1)先繼承後重寫

(2)子類與父類方法一樣,方法體不一樣

3、重寫與過載的不同:重寫是子類先繼承了父類的方法。但有其特殊點,運用父類方法

不能充分表明時,進行重寫。過載是乙個類中定義多個構造器的方法。

四、多型

1、定義:相同型別的物件呼叫同樣的方法,由於方法體的不同導致的結果的不同。

2、特點:先繼承->重寫->多型

類的繼承和實現原理

1.類的繼承例項 class hero aa 11 def init self,name,life,damage self.name name self.life life self.damage damage defattack self,enemy enemy.life self.damage ...

lua 實現類 和 繼承

lua 實現類 繼承 需要以 table 表 的形式實現 table lua的資料結構之一 setmetatable a,b 設定a的元表為b 設定完元表之後 還要將 b的 index 指向自身 這樣的話 在a中查詢元素找不到的話,就會去b中查詢 如果b的 index沒有賦值,那麼及時b中存在也會返...

繼承中類的作用域

派生類的作用域巢狀在其基類的作用域之內,如果乙個名字無法在派生類的作用域內無法正確解析,則編譯器將繼續在外層的基類作用域中尋找該名字的定義。派生類中能重定義在其直接基類或間接基類中的名字,此時定義在內層作用域 即派生類 的名字將隱藏定義在外層作用域 即基類 的名字。struct base prote...