#Access Privledges
* The default access is @protected, if you don’t add any public, or private.
* Java implements this with public/private/protected modifiers infront of methods and variables. Objective-C’s approach is much more similar to C++’s for instance variables
* Access.h
*. access data must used “->” cannot use “.”, compiler will has problem.
#import
@interface Access: NSObject {
@public
int publicVar;
@private
int privateVar;
int privateVar2;
@protected
int protectedVar;
}
@end
* Access.m
#import "Access.h"
@implementation Access
@end
* main.m
#import "Access.h"
#import
int main( int argc, const char *argv[] ) {
Access *a = [[Access alloc] init];
// works
a->publicVar = 5;
printf( "public var: %i\n", a->publicVar );
// doesn't compile
//a->privateVar = 10;
//printf( "private var: %i\n", a->privateVar );
// doesn't compile
//a.privateVar = 10;
//printf( "private var: %i\n", a.privateVar );
[a release];
return 0;
}
* output
public var: 5