黑马程序员-我的第八篇学习日记:OC中self用途,继承和组合的使用

本文介绍了Objective-C中的self使用方式、继承的优势及注意事项、重写的概念以及组合与继承的区别。通过具体实例帮助理解如何在实际开发中合理运用这些特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------


self的用途:

1>概念:指向了当前对象(方法调用者)

2>可以利用“self->成员变量”访问当前对象内部的成员变量 ,如:self->_age;

3>[self 方法名];可以调用其他对象方法或类方法,如:[self test];

4>如果self出现在对象方法中,self就代表对象。如果出现在类方法中,就代表类

如:-(void)run

      {

          NSLog(@"人的体重是: %f",self->_weight);     //self这里代表对象,self->_weight访问成员变量

      }

 

继承的使用:

继承的好处:1.抽取重复代码

                     2.建立类之间的关系

                     3.子类可以拥有父类中的所有的变量和方法 

如:创建了Person和student这两个类,student是Person的子类,那么student继承了Person所有的变量和方法 

继承使用的注意点:

1>基本上所有的类的根类是:NSObject,不允许子类和父类拥有相同的名称的成员变量

如:父类中Person

       @interface Person:   NSObject

         {

             int  _age;

         }  

        @end      

子类中Student

         @interface   Student :  Person

           {

               int   _age;    //这样是不允许的,子类和父类成员变量名称相同

           } 

          @end


重写:子类重新实现父类的某个方法,覆盖父类以前的做法

2>父类必须声明在子类的前面

3>调用某个方法时优先去当前的类找,如果找不到就去父类去找

  

继承的使用场合:

      1.当两个类拥有相同的属性和方法的时候,就可以将相同的东西抽取相同的东西到一个类中

        2.当A类完全拥有B类的部分属性和方法,可以考虑让B类继承A类

       

组合:

        组合和继承的区别:继承就是:xxx是xxx,组合:xxx拥有xxx

如:继承Student是Person,组合Student拥有分数

例子是组合:

@interface  Score: NSObect

{

   int  _cScore;

   int  _ocScore;  

}

@interface  Student: NSObjest

{

   Score  *Score;    //组合,让Student这个类拥有Score这个类所有东西

   int  _age; 

}




---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值