IOS OC 多型的理解和使用總結

2022-05-10 08:14:08 字數 737 閱讀 1710

多型:

多型是在繼承的基礎上(沒有繼承就沒有多型)

(乙個類的方法引數是另乙個類的物件(或另乙個類的子類))

多型:不同物件對同一訊息的不同響應.子類可以重寫父類的方法,(不同的子類對父類的同乙個方法的實現不同)

多型就是允許方法重名 引數或返回值可以是父型別傳入或返回

#import "worker.h"

#import "actor.h"

#import "king.h"

worker *worker = [[worker alloc] init];

worker.name = @"工人";

[worker work];//worker 可以換為父型別person

king *king = [[king alloc]init];

king.name = @"國王";

[king work];//king可以換為父型別person

要想體現出多型性,則必須有繼承。

1.多型的體現:

多型在**中的體現:父類指標指向了子類物件

(person是父類student是子類)

person *p = [[student alloc]init]     //父類指標指向子類物件,編譯時會認為是父類的物件,但執行時,會檢測其具體是誰的物件(可將p看作是student的物件     )

2.多型的好處:

3.多型的侷限性:

父類型別的變數不能用來呼叫子類的方法

spring和多型的理解

建立父類物件的時候,賦予其子類的物件 father father new son 呼叫結果是表現出子類方法的行為 father.study 假如,有個人需要用到自行車,但是某天他不需要自行車了,需要開轎車了。這時候我們不希望跑到自行車這個類裡面去更改 因為別人還有可能用到這個自行車類。所以,我們就通...

多型的理解

1.對多型的理解 同乙個物件在不同時刻體現出來的不同狀態。簡單來說就是貓和狗都是動物,但他們又有許多不同,貓和狗是動物向下延伸的不同結果,這就是多型。2.多型的前提 a 有繼承或者實現關係。b 有方法重寫。c 有父類或者父介面引用指向子類物件。3.多型的分類 a 具體類多型 class fu cla...

多型的理解

1 同乙個物件在不同時刻體現出來的不同狀態。2 多型的前提 a 有繼承或者實現關係。b 有方法重寫。c 有父類或者父介面引用指向子類物件。多型的分類 a 具體類多型 class fu class zi extends fu fu f new zi b 抽象類多型 abstract class fu ...