OC--点操做&setter和getter

#import <Foundation/Foundation.h>
-------------------------------------------------.h
@interface Dog : NSObject
{
    NSInteger _age;
    NSInteger _height;
}

 /*
 点操做和setter和getter 
 1.setter
  - 返回值 是void 函数名 必须以set 开头 set后面的单词必须首字母大写
  参数 只能有一个
  假设 - setAge: 那么 咱们就能够直接这样使用 
  dog.age = 1; .后面 age 就是 set后面的单词(首字母变小写)
  
  
  2.getter
  - 必需要有返回值类型 无参数的
 
  例如  - (NSInteger)age ;
  
  NSInteger a = dog.age;  这里的.age就是getter .后面就是getter的方法名
 
  
 */

- (void)setAge:(NSInteger)age;
- (NSInteger)age;

- (void)setHeight:(NSInteger)height;
- (NSInteger)height;


- (int)xxx;

@end
---------------------------------.m
#import "Dog.h"

@implementation Dog
- (void)setAge:(NSInteger)age {
    _age = age;
}
- (NSInteger)age {
    return _age;
}

- (void)setHeight:(NSInteger)height {
    _height = height;
}
- (NSInteger)height {
    return _height;
}
- (int)xxx {
    return 1000;
}
@end
------------------------------
#import <Foundation/Foundation.h>
#import "Dog.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Dog *dog = [[Dog alloc] init];
        //[dog setAge:1];
        
        // 点操做 是和 setter和getter 是有关系的
       
        dog.age = 1;//等价于[dog setAge:1];
        
        
        NSInteger newAge = dog.age;//等价于 [dog  age];
        
        //获取值得 .age表示就是 getter方法
        //赋值的时候 .age setter方法
        // = 左侧就是 setter方法 右侧 getter方法
        
        NSLog(@"newAge:%ld",newAge);
        //只要setter和getter方法 就可使用点 操做
        
        
        //- (int)xxx; 也可使用点 这就是一个getter
        NSLog(@"%d",dog.xxx);
        
        
    }
    return 0;
}
相关文章
相关标签/搜索