多型:
多型是在繼承的基礎上(沒有繼承就沒有多型)
(乙個類的方法引數是另乙個類的物件(或另乙個類的子類))
多型:不同物件對同一訊息的不同響應.子類可以重寫父類的方法,(不同的子類對父類的同乙個方法的實現不同)
多型就是允許方法重名 引數或返回值可以是父型別傳入或返回
#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 ...