码迷,mamicode.com
首页 > 其他好文 > 详细

【object-c 学习笔记】第四章 继承

时间:2015-04-22 00:16:40      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

继承 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方法,打印出结果。

 

 

【object-c 学习笔记】第四章 继承

标签:

原文地址:http://www.cnblogs.com/sallyWei/p/4446016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!