黑马程序员--OC-多态与继承

------<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.局限性:父类类型的变量,不能直接调用子类特有的方法,必须强转为子类类型,才能调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值