objective-c, iphone, oop, public, private,protected value.

objective-c, iphone, oop, public, private,protected value.

    #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