处理类和对象间的关系时,要重视oop的两个方面。
第一方面 :继承,当一个类拥有另一个类的所有数据和操作时,就称这两个类之间具有继承关系。
为什么要用继承,什么时候使用继承。
当2个类或多个类,具有相同的特性,数据,操作等,需要把它们相同的部分创建成一个新的类并继承它,这样的好处是维护起来容易,出错的可能性降低,避免了代码的冗余(也就减少了bug)。
注意:objective-c不支持多继承,要实现多继承效果,可以使用协议
说一下几个术语:
超类(superclass):所继承的类。在objective-c中NSObject是所有类的超类。
父类(parentclass):是超类的另一种表达方式。
子类(subclass):实施继承的类。
孩子类(childclass):子类的另一种表达方式。
重写(overide):改变方法的实现。
第二方面 :复合,当一个类可以利用其他对象对象提供的特性,这就是复合。复合是让不同的对象协同工作的另一种方式。
复合是通过包含最为实例变量的对象指针实现的。严格的说只有对象间的组合才能叫符合。