黑马程序员技术交流社区

标题: 学习笔记 [打印本页]

作者: vittle    时间: 2014-12-6 14:30
标题: 学习笔记
今天学习的是多态,下面是多态总结的要点;
1,多态是在继承的基础之上的
2,多态在代码中的体现是:父类指针指向子类对象
3,多态的好处是:在不同的累方法中有相同的父类,可以将多个方法整合成一个父类,从而取出代码冗余
例:
@interface Animal : NSObject
- (viod)eat;
@end
@implementation Animal
- (viod)eat
{
NSLog(@"animal eating!")

@end




@interface Dog :Animal

@end
@implementation Dog
- (void)eat
{
NSLog(@"dog eating");
}
@end




@interface Cat : Animal
@end
@implementation Cat
- (viod)eat
{
NSLog(@"cat eating")
}
@end



void feed(animal *a)
{
   [a eat]
}
int main()
{
Dog *d=[Dog new];
Cat *c=[Cat new];
feed(d);         //feed dog
feed(c) ;       //feed cat
return 0;
}  


在多态中可以用父类类型定义子类对象的对象指针
例如:
Animal *dog=[Dog new];
[dog eat];       //输出是”dog eating“,对象的变量和方法会选择对象的真实类型来决定
                   不会依赖对象指针类型


作者: 一个人的故事    时间: 2014-12-6 14:31
感觉没说清楚




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2