继承 封装 多态
1.1继承
编写面向对象的程序时,你所创建的类和对象之间存在一定的关系。他们协同工作才能实现程序相应的功能。创建一个新类时,通常需要定义新类以区别与其他类及现有类。使用继承可以定义一个具有父类所有功能的新类,它继承了父类的这些功能。 继承是面向对象的一个核心概念。在Objective-C的继承体系中,位于最顶层的根类是NSObject我们定义的所有类都是它的子类。子类也叫扩展类或派生类。我们之前使用的分数类Fraction就是NSObject类的派生类。
1.1.1 为什么使用继承
继承使得子类可以从父类中获得一些属性和已有方法。要注意的是如果子类中要直接使用父类继承过来的实例变量,那么必须将变量声明在接口部分中,而在实现部分声明的变量,子类无法继承使用。在实现部分声明和synthesize的实例变量都是私有的,子类不能直接访问,需要提供设置值和取值方法才可以访问这些变量。
1.1.2继承的语法格式:
- #import <Foundation/Foundation.h>
- @interface ClassA:NSObject