------<a href="http://write.blog.csdn.net/postedit">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
第九讲-多态与继承
01-继承
1.继承指子类继承与父类,可以实例化对象,调用父类方法
@interface Person:NSobject
{
int _age;
NSstring *_name;
}
-(void) Set_age:(int)age ;
-(int) age;
-(void) Set_name(NSstring *) name;
-(NSstring *)name;
@end
@implementation Person
-(void) Set_age:(int)age;
{
_age=age
}
-(int) age
{
return _age;
}
-( void)Set_name:(NSstring *)name
{
_name=name;
}
-(void)name
{
return _name;
}
//现在添加一个子类 Student
@interface Student:Person//子类Student继承了父类person
@end
@implementation
@end
//在main函数中进行调用初始化
int main()
{
Person *p=[[Person allow]init];//初始化一个指向Person的p对象
NSstring TM=[p Set_name:爱新觉罗.开];
int AAge=[p Set_age:22];
NSlog(@"name=%@,age=%d",_name,_age);
//这是建立父类对象然后打印结果
//下面是用多态建立子类对象指向父类打印结果
Person *p1=[Student new];
//只能父类指针指向子类对象,只有儿子可以继承父亲,不能父亲继承儿子
NSstring NName=[p1 Set_name:爱新觉罗.开];
NSstring A_Age=[p1 Set_age:22];
NSlog(@"name=%@,age=%d",_name,_age);
}
多态:
1. 父类指针指向子类
2.没有继承就没有对象
3.如果函数\方法参数中使用的是父类类型,可以传入父类,子类对象
4.局限性:父类类型的变量,不能直接调用子类特有的方法,必须强转为子类类型,才能调用。