黑馬程序員--類的繼承

<span style="font-family: Menlo;">/</span>
//  main.m
//  簡單的繼承
//
//  Created by smartlei on 15/5/20.
//  Copyright (c) 2015年 smartlei. All rights reserved.
//

#import <Foundation/Foundation.h>
/*************ClassA*****************/
@interface ClassA :NSObject
{
    int x;
}

-(void) initVar;
@end

@implementation ClassA

-(void) initVar
{
    x=100;
}

@end
/****************ClassB*******************/
@interface ClassB :ClassA//繼承類A
{
    int y;
}
-(void) printfVar;
@end
@implementation ClassB

-(void) printfVar
{
    NSLog(@"x=%i",x);
}
@end


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        ClassB *b=[[ClassB alloc] init];//申請空間
        [b initVar];//對b初始化,但是b沒有定義初始化函數,所以向下調用類A的初始化函數
        [b printfVar];//調用b的打印函數
        // insert code here...
        //  NSLog(@"Hello, World!");
    }
    return 0;
}

注意點一:如何找到正確的方法?

首先調用方法是首先會查看自己是否定義了該方法,如果定義了則調用該方法,如果沒有定義則查找父類是否定義,如果定義了則調用父類該方法,一直重複循環直至查找到根類也沒有則停止。















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章