黑马程序员技术交流社区
标题:
学习笔记
[打印本页]
作者:
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