1: The scope of the default instance variable is: this class body. The default inherited instance variables can be used directly. 2: Permission control symbol for instance variables 3: projected by default 4: only single inheritance is supported in oc 5: Put the common things in the parent class, and the personal things in the Child class
Modifier |
Class |
Subclass |
Anywhere |
Private |
Yes |
|
|
Projected |
Yes |
Yes |
Yes |
Public |
Yes |
Yes |
Yes |
The following uses the inheritance relationship of the car to demonstrate the default permission (protected) I. Car. h //// Car. h // Car /// Created by hmjiangqq on 14-1-22. // Copyright (c) 2014 hmjiangqq. all rights reserved. // # import
@ Interface Car: NSObject {@ protected // default permission int cID; // id float speed; // speed NSString * name; // name}-(void) run; @ end
Ii. Car. m //// Car. m // Car /// Created by hmjiangqq on 14-1-22. // Copyright (c) 2014 hmjiangqq. all rights reserved. // # import "Car. h "@ implementation Car // instantiate the attributes of a Car-(id) init {if (self = [super init]) {cID = 1000; speed = 120; name = @ "";} return self;}-(void) run {NSLog (@ "start... ");} @ end Iii. 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 4. 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 = @" BMW "; 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 ;}
|