1. 程式人生 > >【Objective-C】OC中類的繼承

【Objective-C】OC中類的繼承

1:為什麼要有繼承關係?

  定義一個通用的類,它又基本的例項變數。子類可以繼承了該類,就可以擁有這些例項變數。子類也可以定義自己的例項變數。

  被繼承的類叫超類或者父類(superclass),繼承超類的類叫做子類(subclass)。

OC中繼承的語法規則為:

   @interface 子類:父類

2:接下來看例項程式碼

  首先是ClassA.h

////  ClassA.h//  ClassAB////  Created by hmjiangqq on 14-1-22.//  Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import <Foundation/Foundation.h>
@interfaceClassA:NSObject{int x;}-(void)initVar;@end
ClassA.m
////  ClassA.m//  ClassAB////  Created by hmjiangqq on 14-1-22.//  Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import "ClassA.h"@implementationClassA-(void)initVar{
    x=100;}@end
ClassB.h
////  ClassB.h//  ClassAB////  Created by hmjiangqq on 14-1-22.//  Copyright (c) 2014年 hmjiangqq. All rights reserved.
//#import "ClassA.h"@interfaceClassB:ClassA-(void)printVar;@end
ClassB.m
////  ClassB.m//  ClassAB////  Created by hmjiangqq on 14-1-22.//  Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import "ClassB.h"@implementationClassB-(void)printVar{NSLog(@"x= %d\n",x);}@end
Main.m
////  main.m//  ClassAB////  Created by hmjiangqq on 14-1-22.
// Copyright (c) 2014年 hmjiangqq. All rights reserved.//#import <Foundation/Foundation.h>#import "ClassB.h"int main(int argc,constchar* argv[]){@autoreleasepool{// insert code here...NSLog(@"Hello, World!");ClassB*b=[[ClassB alloc]init];[b initVar];//父類中的方法[b printVar];}return0;}