码迷,mamicode.com
首页 > 其他好文 > 详细

四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

时间:2016-01-02 22:16:20      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:

四.OC基础--1.文档安装和方法重载,

  1. 在线安装
    xcode-> 系统偏好设置->DownLoads->Doucument->下载

  2. 离线安装
    百度xcode文档

  3. 方法重载: 是指在一个类中定义多个同名的方法
    在OC中没有重载

    技术分享

2.self和super&static,

  self和super:
    1. self理解: 谁调用当前方法, self就代表谁.
    比如: 在对象方法中,self代表的是对象, 因为只有对象才可以调用对象方法
    在类方法中, self代表的是类, 因为只有类名才可以调用类方法.

    注意: 在对象方法中不要使用self调用类方法
       在类方法中不要使用self调用对象方法

    2. 获取当前对象的类: Person *p = [Person p];
      [p class] = [Person class] = Person

    3. 在对象方法中可以通过 self->_speed访问成员变量.

    4. super代表的是当前类的父类.

  static关键字:
    1. 在c语言中 static可以修饰局部变量、全局变量、函数
    2. 在OC中, 不能用来修饰实例变量和方法, 但是可以修饰局部变量, 全局变量

3.继承和派生,

  继承格式:
    @interface Cat : Animal

    @end

  继承定义: 子类拥有了属性和方法.

  派生: 父类向下产生子类的过程称为派生

  继承的注意事项:
    1. 子类不能定义和父类同名的变量,但是可以继承父类的变量
    2. OC类支持单一继承,不支持多继承

    3.我们都知道objective C不能像C++一样支持多继承,但是在OC的使用经常会碰到需要使用多继承的情况。例如,ClassA中有methodA,ClassB中methodB,

     而现在需要使用这两个类中的方法。

    答案:通过协议可以实现oc中的多继承

 

4.实例变量修饰符 ,

  作用范围:
  @public : 作用于所有的类
  @protected: 作用于当前类,子类(派生类)
  @private: 作用于当前类
  @package: 作用框架级别的

  默认情况下实例变量属于@protected修饰.

5.私有变量&私有方法,

  定义格式:
    在.m文件当中定义
    @implementation Person : NSObject
    {
      int age; // 私有变量
    }

    // 不在.h文件中声明, 只在.m文件中实现
    -(void)run{

      NSLog(@"我是私有方法");
    }
    @end

    私有方法只能在当前文件中使用, 不能被子类继承.

6.description方法

  1. description方法默认返回对象的描述信息(默认实现是返回类名和对象的内存地址) ;

  2. 重写description方法:
    -(NSString *)description{
      return [NSString stringWithFormat:@"狗腿的个数:%d,狗的眼睛个数:%d",_tuiNum, _eyeNum];
    }

  3. 千万不要在description方法中同时使用%@和self
    - (NSString *)description {
      return [NSString stringWithFormat:@"%@", self];
    }
  同时使用了%@和self,代表要调用self的description方法,因此最终会导致程序陷入死循环,循环调用description方法

四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

标签:

原文地址:http://www.cnblogs.com/jiayongqiang/p/5095222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!