A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangxiaoit 中级黑马   /  2014-12-16 18:46  /  507 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面向对象三大特性:成员变量的封装、继承、多态
        1.封装
                set方法:
                1. 作用: 提供设置属性值方法。(对传进的参数进行过滤)
                2. 命名规范:
                1> 方法名必须以set开头
                2> set后面跟上成员变量的名称,成员变量的首字母必须大写。
                3> 返回值一定是void
                4> 一定要接收一个参数,而且参数类型跟成员变量类型一致。
                5> 形参名称不能跟成员变量名一样。
                get方法:
                1. 作用: 返回对象内部的成员变量
                2. 命名规范:
                1> 肯定有返回值,返回值类型肯定与成员变量类型一致
                2> 方法名跟成员变量名一样
                3> 不需要接受任何参数
                成员变量的命名规范:
                        一定要以下划线'_'开头
                1. 作用: 让成员变量和get方法的名称区分开
                2. 可以跟局部变量分开,一看到下划线开头的变量,一般都是成员变量。
                #封装练习
                弱语法
                OC在运行过程中才会检测对象有没有实现相应的方法。

        2.类方法
                1> 以+ 开头
                2> 只能由类(名)来调用
                3> 类方法中不能访问成员变量
          对象方法
                1> 以-号开头
                2> 只能由对象来调用
                3> 对象方法能访问成员变量
          类方法的好处和使用场合
                1> 不依赖于对象、执行效率高
                2> 能用类方法尽量用类方法
                3> 场合: 当方法内部不需要使用到成员变量时,可以改用类方法。
               
          可以允许类方法和对象方法同名
          对象方法可以调用类方法
          self的用途:
          1> 概念: 指向了当前对象(方法调用者)
          ** self出现在对象方法中self就代表对象
          ** self出现在类方法中self就代表类
          2> 可以利用"self->变量名"访问当前对象内部的成员变量
          3> [self 方法名];可以调用其他对象方法/类方法
          self:指向了方向调用者。

        3.继承
                1. 继承的好处
                1> 抽取重复代码
                2> 建立了类之间的关系
                3> 子类可以拥有父类中的所有成员变量和方法
                2. 注意
                1> 基本上所有类的跟雷都是NSObject
               
               
                不允许子类和父类拥有相同名称的变量。
                2.重写:子类重新实现父类的某个方法,覆盖父类以前的做法
                2.注意
                1> 父类必须声明在子类的前面
                2> 子类不能拥有和父类相同的成员变量
                3> 调用某个方法时,有限去当前类中招,找不到一次去父类中找
                3.坏处: 耦合性太强
               
                继承的使用场合
                1> 当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中。
                2> 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类
                继承: xx 是 xxx
                组合: xxx 拥有 xxx
       
                super的作用
                1. 直接调用父类中的某个方法
                2. super处在对象方法中,那么就会调用父类的对象方法
                   super处在类方法中,那么就会调用父类的类方法
                3. 使用场合: 自雷重写父类的方法时保留父类的一些行为。
                  
        4. 多态: 父类指针指向子类对象
                调用方法时会检测对象的真实形象
                好处: 如果参数中使用的事父类类型,可以闯入父类,子类对象。
                局限性: 父类类型的变量 不能用来调用子类的方法
                1. 没有继承就没有多态
                2. 代码的体现: 父类类型的指针指向子类对象
                3. 好处: 如果函数/方法参数中使用的是父类类型,可以传入父类、子类对象。
                4. 局限性:父类类型的变量,不能直接调用子类特有的方法。(必须强转为子类类型变量)


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马