O-c中类的继承与派生的概念

时间:2023-01-22 18:00:26


 

什么是继承

 

众所周知,面向对象的编程语言具有: 抽象性, 封装性, 继承性, 以及多态性 的特征. 那么什么是继承呢? 传统意义上是指从父辈那里获得父辈留下的东西

    在开发中,继承就是"复用类"(拿来主义),对类进行一定的扩展, 来创建新的对象.实际上除了开发, 在实际生产中也是如此规律。



基类与派生类的关系

 

1.派生类是在基类的基础之上设计出来的, 其目的是扩展基类的功能或修改基类功能.

 

派生类包含了基类的所有特征与功能(子类继承了父类的所有的内容)



O-c中类的继承与派生的概念

2, 继承是扩展基类的功能

 

继承允许扩展基类的功能. 例如继承父类后, 添加自己独有的方法

例如人有自我介绍的方法, 老师有教书的方法, 学生有学习的方法

 

3, 继承允许修改基类的功能

 

如果在继承中, 发现基类方法的具体实现不是非常完整或不是非常合理, 就需要利用重写的办法, 让子类修改父类的具体方法的实现.

 

例如, 动物会吃, 会叫, 然后子类 dog 也会吃 和 叫.

 


 

 

 

继承的注意事项

 

1, OC 是单继承

           @interface MyClass : BaseClass

 

2, 子类不允许提供父类相同的变量(应该继承下来)

 

3, 实际开发中常常利用多层继承

 

4, 派生类的对象调用方法的索引顺序

 

    Person ( sayHello() )

    Student:Person (  )

    SmallStudent:Student( sayHello() )

 

    Student *stu = [Student new];

    [Stu sayHello];