@public 和 @protected

@interface Car : NSObject


@end

// - 点语法用来访问类的setter方法和getter方法@property会自动生成setter方法和getter方法的声明(.h)和成员变量@synthesize ordDate = _ordDate;会自动生成setter方法和getter方法的实现(.m)

而->是访问成员变量;

@implementation Car

{

@public // -公开的成员变量

   int _speed;

    

@protected  // - 受保护的成员变量

   int _wheels;

}


- (void)setSpeed:(int)speed

{

   _speed = speed;

}

- (int)speed

{

   return_speed;

}


@end



int main(int argc,constchar * argv[])

{


    @autoreleasepool {

       Student *stu = [Studentnew];

        

        

        [stusetHeight:100];

        

        

       NSLog(@"%d", [stuheight]);

        

       /* 因为是 @public 所以可以外部访问 但是要用-> 才可以访问 

        Car *c = [Car new];

        c->_speed = 250;

        */   点语法 :

        //c.speed = 10;

        

        // NSLog(@"%d", c.speed);

        

        //[c setSpeed:<#(int)#>];

        

       /*

        Person *p = [Person new];

        p->_bbb = 10;

        p->_age = 100;

        */

        //p->_height = 20;

        

        

        //p->_weight = 10;

    }

   return0;

}


你可能感兴趣的:(@public 和 @protected)