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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

继承
        1. 继承好处(OC 只支持但继承)
                1> 抽取重复代码
                2> 建立了类之间的关系
                3> 子类可以拥有父类中的所有成员变量和方法

        2. 方法重写
                方法重写又称方法覆盖
                规范:
                若子类中的方法与父类中的某一方法具有相同的方法名、返回值类型和参数,则新方法将覆盖原有方法。
        3. 方法重载
                方法重载让类以同意的方式处理不同类型数据。
                特点: 重载的方法具有相同的名字,但具有不同的参数和不同的定义。
                        调用方法时,通过传递给他们的不同个数和类型的参数来决定具体使用哪个方法。
                规范:
                        1> 方法名一定要相同。
                        2> 方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
                        3> 方法的返回值类型,修饰符可以相同,也可以不相同。
                区别: 方法重写用于父子类之间  方法重载用于同一个类中。
                        重写:子类重新实现父类的某个方法覆盖父类以前的做法
        3. super
                功能: super 关键字表示父类,可以使用super访问父类中被子类隐藏的或重写的方法。
                范例: [super setX];                表示调用父类的setX方法;
                继承初始化过程:
                  1> 永远首先调用父类的初始化方法。
                  2> 检查调用父类初始化方法所产生的对象的结果。(如果为 nil,初始化不能继续执行)
                  3> 初始化实例变量时,如果该变量时一个引用对象,可以根据实际情况使用copy或者retain方法。
                  4> 初始化实例变量后,返回 self
                注:
                        1. 直接调用父类中的某个方法
                        2. super处在对象方法中,那么就会调用父类的对象方法
                           super处在类方法中,那么就会调用父类的类方法
                        3. 使用场合: 子类重写父类的方法时保留父类的一些行为。
        4. 抽象类
                特点: 抽象类中没有包含足够的信息来描绘一个具体的对象。
                Objective-C 语言没有特别的关键字来定义抽象类。
        5. 访问控制
                @public : 在任何地方都能直接访问对象的成员变量
                @private: 只能在当前类的对象方法中访问,不能被子类中定义的方法直接访问
                @protected: 可以在当前类和子类的对象方法中直接访问(默认修饰)
                @package:        只要处在同一个框架中就能直接访问对象的成员变量。
       
        6. 注意
                1. 不允许子类和父类拥有相同名称的变量。
                        1> 基本上所有类的根类都是NSObject
                2.继承的使用场合
                        1> 当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中。
                        2> 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类
                        继承: xx 是 xxx
                        组合: xxx 拥有 xxx
                3.注意
                1> 父类必须声明在子类的前面
                2> 子类不能拥有和父类相同的成员变量
                3> 调用某个方法时,有限去当前类中找,找不到依次去父类中找
                3.坏处: 耦合性太强

0 个回复

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