多態定義 一個person類,一個打印機print類,兩個及多個打印機子類 main函數: person *per = [[person alloc] init]; person類執行doPrint方法——> colorPanter *colorPrint = [[colorPanter alloc]init]; blackPanter *blackPrint = [[blackPanter alloc]init]; //傳入打印機子類名,判斷執行類別。 [per doPrint:colorPrint]; [per doPrint:blackPrint];
person類:實現doPrint方法 -(void) doPrint:(panter *)printer{ [printer print]; } print類:實現print方法 -(void)print{ NSLog(@"打印機打印紙張"); } 兩個子類:colorPanter blackPanter繼承自print父類 重寫父類方法; -(void)print{ NSLog(@"黑白打印機"); } -(void)print{ NSLog(@「彩色打印機」); } 此處print類只須要實現一個方法,就能夠實現無數的子類方法,這種方式被稱爲多態。