[Objective-c 基础

 A.对象的多种形态

1.父类指针指向子类对象
2.调用方法的时候,会动态监测真实地对象的方法
3.没有继承,就没有多态
4.好处:用一个父类指针可以指向不同的子类对象
5.强制转换类型之后就能使用子类特有的方法,否则会出现warning(仍可以正常运行,即不论指针类型,只要对象存在实际方法就可以运行)
复制代码
 1  
 2 #import <Foundation/Foundation.h>
 3 
 4 @interface Animal : NSObject
 5 - (void) eat;
 6 @end
 7 
 8 @interface Dog : Animal
 9 - (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