類的繼承章節中的概念

2021-08-31 13:00:21 字數 1277 閱讀 1297

類的繼承章節中的概念

1.為什麼需要繼承?

1.減少開發的時間,降低**的冗餘。

2.繼承是用來完善物件導向的程式設計思想。

2.繼承的語法格式

訪問修飾符   class  子類名  extends 父類名

3.子類能繼承到父類的那些方法和屬性,而那些方法和屬效能被子類呼叫

子類可以繼承到父類所有的屬性和方法。

子類能呼叫到父類的屬性和方法分為兩種情況:

1.子類和父類在同乙個包下:

只有私有屬性和方法不可以被子類呼叫,私有的構造方法不可以被子類呼叫。 

2.子類和父類在不同的包下:

只有共有的屬性和方法以及構造方法可以被子類呼叫。

4.如何實現方法的重寫

實現重寫,子類中定義的方法,必須在父類中存在,如果父類中不存在該方法,那麼就是子類自己定義的乙個新的方法。

子類要實現重寫,那麼方法的返回值型別,方法名,引數個數以及引數型別都必須和父類的完全相同,子類的唯一 能修改的地方是訪問修飾符,但是,子類的訪問修飾符只能比父類的大,不能比父類的小。

大--->小

public --> protected -->  private

實現方法重寫,在呼叫的過程中,會優先呼叫子類的方法,如果子類沒有該方法,則呼叫父類的方法。

重寫和過載的區別:

1.過載的定義是方法名相同,引數的型別或個數不同,二重寫的定義是方法名.引數型別.返回值型別都相同

2.過載發生在乙個人類中,重寫發生在繼承中。

5.自動轉型的實現

要實現自動轉型必須存在繼承的關係。

自動轉型只能用於子類和父類之間的。 

格式一:

父類名    物件名   =  new  子類構造方法();

格式二:

子類名    子類物件名   =  new  子類構造方法();

訪問修飾符   返回值型別    方法名(父類名  父類物件名)

方法名(子類物件名);

強制轉型:子類名 乙個新的物件名 = (子類名) 剛才的子類物件名  

子類名必須是剛剛的子類構造方法對應的那個類名。

6.多型

多型不是乙個單一的特性,它是由方法的過載,類的繼承,方法的重寫以及自動轉型引起的最終執行結果是無法確定的。

ruby類繼承中的方法繼承

c class a class b a 這段程式的輸出結果是ab 結果都不陌生,把這段程式用ruby重寫 ruby class a def initialize puts a endend class b a def initialize puts b endend 這段程式的輸出是b,並非我想像中...

OC 中類的繼承

繼承的思想 繼承 當多個類出現部分相同的例項變數和方法時,就考慮用繼承.繼承的使用 將多個類中相同的部分的例項變數的方法提出來,寫成乙個公共的父類.繼承 子類繼承父類會將裡面所有除了宣告為 private的例項變數,以及私有方法之外,其餘內容都會被繼承.所以如果子類中有和父類同樣的內容,可以全部刪除...

quick lua中的類繼承

quickcocos 中讓 lua有了 繼承 的能力,看起來更像oo語言了 通過測試,發現其基類的成員變數和成員函式都可以被很好的繼承下來 例子 基類 local base class base function base ctor print base.ctor self.m 0 endfunct...