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>
@interface ClassA : NSObject
{
int x;
}
-(void)initVar;
@end
//
// ClassA.m
// ClassAB
//
// Created by hmjiangqq on 14-1-22.
// Copyright (c) 2014年 hmjiangqq. All rights reserved.
//
#import "ClassA.h"
@implementation ClassA
-(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"
@interface ClassB : 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"
@implementation ClassB
-(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, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
ClassB *b=[[ClassB alloc]init];
[b initVar]; //父類中的方法
[b printVar];
}
return 0;
}
【Objective-C】OC中類的繼承
|