您的位置:首页 > 移动开发 > Objective-C

黑马程序员_ Objective C 封装,继承,多态总结

2015-06-01 21:41 288 查看
一、封装

  1.成员变量尽量不要用@public来修饰

  2.只读(readonly):只允许外界访问,不允许外界修改。即只提供get方法,不提供set方法。

  3. set方法

    1)作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤

    2)命名规范:

      1> 方法名必须以set开头

      2> set后面跟上成员变量的名称,成员变量的首字母必须大写

      3> 返回值一定是void

      4> 一定要接收一个参数,而且参数类型跟成员变量类型一致

      5> 形参的名称不能跟成员变量名一样

  4.get方法

    1)作用:返回对象内部的成员变量

    2)命名规范:

      1> 肯定有返回值,返回值类型肯定与成员变量类型一致

      2> 方法名跟成员变量名一样

      3> 不需要接收任何参数

  5.成员变量的命名规范:一定要以下划线_开头

    作用:

    1.让成员变量和get方法的名称区分开

    2.可以跟局部变量区分开,一看到下划线开头的变量,一般都是成员变量

二、方法

  1.对象方法

    1> 减号 - 开头

    2> 只能由对象来调用

    3> 对象方法中能访问当前对象的成员变量(实例变量)

  2. 类方法

    1> 加号 + 开头

    2> 只能由类(名)来调用

    3> 类方法中不能访问成员变量(实例变量)

    工具类:基本上没有任何成员变量,里边的方法基本上都是类方法

  3.类方法的好处和使用场合

    1> 不依赖于对象,执行效率高

    2> 能用类方法,尽量用类方法

    3> 场合:当方法内部不需要使用到成员变量时,就可以改为类方法

     可以允许类方法和对象方法同名

  4. self的用途:

    1>self指向了方法调用者,即代表了当前对象。

      * 谁调用了当前方法,self就代表谁

      * self出现在对象方法中,self就代表对象

      * self出现在类方法中,self就代表类

    2> 在对象方法利用”self->成员变量名”访问当前对象内部的成员变量

     3> [self 方法名]可以调用同一个类的其他的对象方法\类方法

三、继承

  1.继承的好处:

    1> 抽取重复代码

    2> 建立了类之间的关系

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

  2.注意点

    1> 基本上所有类的根类是NSObject

四、重写

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

  2.注意

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

    2> 子类不能拥有和父类相同的成员变量

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

  3.坏处:耦合性太强(既子类对父类的依赖性太强)

  4.继承的使用场合

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

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

  5.super的作用

    1> 直接调用父类中的某个方法

    2> super处在对象方法中,那么就会调用父类的对象方法

     super处在类方法中,那么就会调用父类的类方法

    3.>使用场合:子类重写父类的方法时想保留父类的一些行为

五、多态

  1.没有继承就没有多态

  2.代码的体现:父类类型的指针指向子类对象

  3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象

  4.局限性:父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  封装 继承 多态