OC4_实例变量的作用域

//
//  Dog.h
//  OC4_实例变量的作用域
//
//  Created by zhangxueming on 15/6/16.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Dog : NSObject
{
    @protected//受保护的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类可以直接继承受保护的实例变量
    NSString *_name;
    NSInteger _age;
    @private  //私有的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类不可以继承私有的实例变量
    float _weight;
    float _height;
    @public   //公有的实例变量, 在类内类外都可以直接访问,子类可以直接继承公有的实例变量
    NSInteger _number;
}

//@property 关键字展开的实例变量是私有的

@property (copy,nonatomic) NSString *name;
@property (assign,nonatomic)NSInteger age;
@property (assign,nonatomic)float weight;
@property (assign,nonatomic)float height;
//@property (assign,nonatomic)NSInteger number;
- (void)setNumber:(NSInteger)number;
- (NSInteger)number;

- (void)printNumber;

@end
//
//  Dog.m
//  OC4_实例变量的作用域
//
//  Created by zhangxueming on 15/6/16.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "Dog.h"

@implementation Dog
{
    NSInteger abc;
}

- (void)setNumber:(NSInteger)number
{
    _number = number;
}

- (NSInteger)number
{
    return self->_number;
}

- (void)printNumber
{
    NSLog(@"number = %li", [self number]);
}


@end
//
//  main.m
//  OC4_实例变量的作用域
//
//  Created by zhangxueming on 15/6/16.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Dog.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Dog *xiaoHei = [[Dog alloc] init];
//        xiaoHei->_name = @"小黑";
//        xiaoHei->_age =12;
//        _name = @"xiaohei";
        xiaoHei.name =@"小黑";
        xiaoHei.age = 12;
        NSLog(@"name =%@ age = %li", xiaoHei.name, xiaoHei.age);
        
        xiaoHei.weight = 34.2;
        xiaoHei.height = 50;
        NSLog(@"weight  = %.2f height = %.2f", [xiaoHei weight], xiaoHei.height);
        
        xiaoHei->_number = 100;
        NSLog(@"number = %li", xiaoHei->_number);
        
    
    }
    return 0;
}
原文地址:https://www.cnblogs.com/0515offer/p/4581207.html