Fork me on GitHub

第三讲.继承,完整初始化方法,遍历构造器,多态

一.继承(面试题)

1.继承(面试题)

   1> 继承是单向的,
      继承具有传递性,子类继承父类的的特征和行为。简单来说就是子类可以直接使用父类定义过的对象及方法.(在使用时根据情况需要在子类中重新初始化)
      子类扩展了父类,使特征和行为更加的具体。

  2>继承的特点:
     OC中只允许单继承。(一个子类只有一个父类)
     没有父类的类成为根类,OC中的根类是NSObject(祖宗类)。
     继承自父类的内容:除了私有变量外的所有实例变量和方法。
     子类可以重写父类的方法。

  3> super关键字:
     描述:只是OC中的关键字,不是父类对象,只是用来调用父类中的方法。
     作用:给super发消息,可以执行父类中实现的方法。

二.完整初始化方法.

     初始化的过程:在继承中子类定义了除父类中公共实例变量之外的实例变量.在自身初始化过程中,先向super发送init消息,初始化共有变量,初始化成功后,初始化自身特有变量,从而完成初始化过程.在整个生命周期只能初始化一次.

实例:person.h

 

person.m文件

main.m文件

三.便利构造器

    1.便利构造器在初始化⽅方法的基础上封装了对象创建过程。

    2.便利构造器是“+”方法,返回本类型的实例,方法名以类名开头。

     可以有0到多个参数。 内部实现:封装了alloc和初始化方法。使用起来更加简洁

    3.特点及命名规则

    特点:遍历构造器是类方法

    命名规则:还用驼峰命名法,方法名以类名开头

    4.遍历构造器: 是一种快速创建对象的方式.它本质上是把初始化方法做了一次封装,方便外接使用.同时在使用遍历构造器时,必须与初始化方法结合使用(initWith)

实例变量:Person.h

Person.m文件

main.m文件

 

四.多态

    1. a. 初始化方法返回的是id类型,id是一个可以指向任何对象的指针。因此animal可以指向Cat和Dog类型的对象。

      b. Cat类型对象和Dog类型对象在响应同一个方法eat中,做出了不同的反响,这正是多态的表现

    2. 多态的特点:
      a. 父类指针可以指向不同的子类对象
      b. 允许在多个类中定义同一个消息接口
      c. 可以屏蔽不同的子类之间的差异,可以通用代码
      d. 适应需求的不同变化

多态实例:

 

posted @ 2015-08-29 12:23  DengHuiCheng  阅读(149)  评论(0编辑  收藏  举报