[Objective-c 基础 - 2.4] 多态
生活随笔
收集整理的這篇文章主要介紹了
[Objective-c 基础 - 2.4] 多态
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?A.對象的多種形態
1.父類指針指向子類對象2.調用方法的時候,會動態監測真實地對象的方法 3.沒有繼承,就沒有多態 4.好處:用一個父類指針可以指向不同的子類對象 5.強制轉換類型之后就能使用子類特有的方法,否則會出現warning(仍可以正常運行,即不論指針類型,只要對象存在實際方法就可以運行) 1 2 #import <Foundation/Foundation.h>3 4 @interface Animal : NSObject5 - (void) eat;6 @end7 8 @interface Dog : Animal9 - (void) run; 10 @end 11 12 @interface Cat : Animal 13 14 @end 15 16 17 @implementation Animal 18 - (void) eat 19 { 20 NSLog(@"吃東西---"); 21 } 22 23 @end 24 25 @implementation Dog 26 - (void) eat 27 { 28 NSLog(@"狗狗吃東西"); 29 } 30 31 - (void) run 32 { 33 NSLog(@"狗狗跑起來了"); 34 } 35 @end 36 37 @implementation Cat 38 39 - (void) eat 40 { 41 NSLog(@"貓貓吃東西"); 42 } 43 44 @end 45 46 void feed(Animal *animal) 47 { 48 NSLog(@"開始喂動物"); 49 [animal eat]; 50 } 51 52 53 int main() 54 { 55 Animal *a = [Dog new]; 56 [a eat]; 57 Animal *c = [Cat new]; 58 [c eat]; 59 60 feed(a); 61 feed(c); 62 63 Dog *dog = (Dog *)a; 64 [dog run]; 65 66 return 0; 67 }
轉載于:https://www.cnblogs.com/wvqusrtg/p/4501508.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的[Objective-c 基础 - 2.4] 多态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言标准库函数qsort具体解释
- 下一篇: 关于清除浮动