oc中的继承

来源:互联网 发布:java calendar. Date 编辑:程序博客网 时间:2024/06/01 08:48

  继承是面向对象编程的一个重要原理,通过这个概念,将学会如何使用现有的类定义并使其适合自己的应用程序。

  oc中,没有多继承,只允许单继承。一个类可以继承另外一个类,被继承的类称为父类或超类,继承的类称为子类。父类自身也可以有父类,没有父类的类位于层次结构的最顶层,称为根类,oc中的根类是NSObject。只有定义一个新的子类,该类都会继承父类中除了@private实例变量之外的全部内容。

@interface Student :NSObject

{

NSString *_name;

NSString *_sex;

NSInteger _age;

}

@end


#import"Student.h"

@interface CollegeStudent : Student

{

NSString *_major;

}

@end

  学生类继承根类NSObject,大学生类继承学术类,大学生类除了定义了自身的特征和行为,还继承了学生类的特征和行为。

  子类能直接继承父类的方法,还可以重写父类的方法(子类自己实现),子类重写父类方法后,调用过程会执行子类的方法。继承也具有传递性。

使用继承有以下几点需要注意的:

(1)编译器从上往下执行,所以在子类前面至少应该要有父类的声明;

(2)OC中不允许子类和父类拥有相同名称的成员变量名;

(3)OC中的子类可以拥有和父类相同名称的方法,在子类调用时,优先去自己的内部寻找,如果没有则一层一层的往上找;

super关键字的作用有以下几点:

1)直接调用父类中的某一个方法

(2)Super处在对象方法中,那么就会调用父类的对象方法;super处于类方法中,那么就会调用父类的类方法。

只是小白对oc中继承的理解与注意,


希望大神能多多帮助。



0 0