1:默認(rèn)的實(shí)例變量的作用域范圍是:這個(gè)類體內(nèi).默認(rèn)繼承的實(shí)例變量可以直接使用。

2:實(shí)例變量的權(quán)限控制符號(hào)

3:默認(rèn)是projected

4:oc中只支持單繼承

5:共性的東西放在父類,個(gè)性的東西放在子類

修飾符 類內(nèi)部 子類 任何地方
private yes

projected yes
yes
yes
public yes
yes
yes

下面使用汽車的繼承關(guān)系來(lái)演示一下默認(rèn)的權(quán)限(protected)

一:汽車Car.h

    

// //  Car.h //  Car // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import <Foundation/Foundation.h>  @interface Car : NSObject {     @protected    //默認(rèn)權(quán)限     int cID;         //id     float speed;     //車速     NSString *name;  //名稱 } -(void)run; @end
二:汽車Car.m
       
// //  Car.m //  Car // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import "Car.h"  @implementation Car //實(shí)例化汽車的屬性 -(id)init{     if(self=[super init]){         cID=1000;         speed=120;         name=@"小汽車";     }     return  self; } -(void)run{     NSLog(@"start ..."); } @end 
三:BMW.h
       
// //  BMW.h //  Car // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import "Car.h"  @interface BMW : Car  @end 
四:BMW.m
      
// //  BMW.m //  Car // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import "BMW.h"  @implementation BMW -(void)run{     name=@"寶馬";     NSLog(@"car name is %@\n",name); } @end 
main.m
      
// //  main.m //  Car // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import <Foundation/Foundation.h> #import "Car.h" #import "BMW.h" int main(int argc, const char * argv[]) {      @autoreleasepool {                  // insert code here...         NSLog(@"Hello, World!");         Car *car=[[Car alloc]init];         [car run];         BMW *bmw=[[BMW alloc]init];         [bmw run];     }     return 0; }