程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [Objective-C]OC中的權限控制

[Objective-C]OC中的權限控制

編輯:關於C語言

1:默認的實例變量的作用域范圍是:這個類體內.默認繼承的實例變量可以直接使用。

2:實例變量的權限控制符號

3:默認是projected

4:oc中只支持單繼承

5:共性的東西放在父類,個性的東西放在子類

修飾符 類內部 子類 任何地方 private yes     projected yes yes yes public yes yes yes

下面使用汽車的繼承關系來演示一下默認的權限(protected)

 

一:汽車Car.h

 

//
//  Car.h
//  Car
//
//  Created by hmjiangqq on 14-1-22.
//  Copyright (c) 2014年 hmjiangqq. All rights reserved.
//

#import 

@interface Car : NSObject
{
    @protected    //默認權限
    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 //實例化汽車的屬性 -(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  #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; } 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved