- OOP的两个重要方面:一是继承(inheritance),二是复合(composition)。
继承:可以定义一个具有父类所有功能的新类,即它继承了父类的功能。
复合:也就是在对象中引用其他的对象。对象引用其他对象时,可以利用其他对象的特性。某些编程语言(例如C++)具有多继承,也就是一个类可以直接从两个或多个类继承而来。但是,Objective-C不支持多继承。如果你尝试在Objective-C中使用多继承(多继承的形式类似于以下语句),是无法正常通过编译器审核的。
@interface Circle : Nsobject , PrintableObject
Objective-C可以通过类别(category)和协议(protocol)来达到多继承的效果。重构
重构,是移植和优化代码的方式,在OOP中是一个非常流行的主题。进行重构时,会通过移植某些代码来进行程序的架构(例如删除一些重复的代码,而不必改变代码的行为和运行结果)。通常开发周期包括向代码中添加某些特性,然后通过重构删除所有重复的代码。方法调度
当向类的对象发送消息时,调度程序首先访问这个类中的代码能否响应消息。如果不能,就在超类中查找,如果超类中也没有,就向NSObject类中查找。如果最顶层的NSObject类中也没有找到该方法,则会出现一个运行时错误,同事还会出现一个编译时(compile-time)警告信息。super关键字
Objective-C提供了一种方法,让你既可以重写方法的实现,又能调用超类中的实现方法。
应用场景:需要超类实现自身的功能,同时在之前或之后执行一些额外的工作。
方法:使用super作为方法调用的目标。当向super发送消息时,实际上是在请求Objective-C向该类的超类发送消息。重写
子类可以改变父类方法的实现。
在重写方法时,调用超类的方法能够实现更多的功能(向super关键字发送消息)。
OC基础回顾(三)继承
最新推荐文章于 2018-11-08 21:36:39 发布