继承 inheritance
1、概念:
2、声明新类的方法:@interface Circle:NSObjcet
冒号后边的标识符是需要继承的类
3、有关术语
超类(superclass):是继承的类;
父类(parent class):是超类的另一种表达方式 ;
子类(subclass):是执行继承的类 ;
孩子类(child class):子类的另一种表达方式;
4、objcet-c 继承的实例
1 //程序中定义了两个类,分别是ClassA和ClassB;ClassA的父类是NSObject ClassB继承了ClassA,间接继承了NSObject; 2 //interface 用来定义;implementation用来实现类的方法 3 @interface ClassA : NSObject 4 { 5 int n; 6 } 7 -(int)initVar; 8 @end 9 10 @implementation ClassA 11 12 -(void)initVar 13 { 14 n=406; 15 } 16 @end 17 18 @interface classB : ClassA 19 -(void)printVar; 20 @end 21 22 @implementation classB 23 24 -(void)printVar 25 { 26 NSLog(@"n=%i",n); 27 } 28 @end 29 30 int main(int argc, char * argv[]) { 31 @autoreleasepool { 32 classB *clsB = [classB new]; 33 [clsB initVar]; 34 [clsB printVar]; 35 }
运行后的结果:
2015-04-21 22:29:01.619 DoudouInheritanceProject[6027:704463] n=406
下面来解释下这个程序,该程序中定义了两个类ClassA和ClassB,ClassA的父类是NSObject,这是object-c的一个根类,ClassB 继承自ClassA,那么也间接继承了NSObject类;定义了classA的接口时,我们定义的一个变量n,那么子类ClassB才能访问它,classA中定义了方法initVar,而在ClassB中定义了方法printVar。在执行主函数时,首先创建了classB对象,使用initVar来初始化参数,initVar是ClassA中的方法,此时classB类在引用指针来调用就体现了继承的观点,然后再执行printVar方法,打印出结果。
时间: 2024-12-28 08:40:22