zoukankan      html  css  js  c++  java
  • oc27--synthesize,省略getset实现

    //
    //  Person.h
    
    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    {
        @public
        int _age;
        int age;
        int _number;
    }
    
    /*
    @porperty是一个编译器指令
     在Xocde4.4之前, 可以使用@porperty来代替getter/setter方法的声明
     也就是说我们只需要写上@porperty就不用写getter/setter方法的声明
     
     编译器只要看到@property, 就知道我们要生产某一个属性的getter/setter方法的声明
     - (void)setAge:(int)age;
     - (int)age;
     */
    @property int age;  //就可以使用  [p setAge:88];
    @end
    //
    //  Person.m
    
    #import "Person.h"
    
    @implementation Person
    /*
     @synthesize是一个编译器指令, 它可以简化我们getter/setter方法的实现*/
     
    @synthesize age = _age;  // 赋值给_age
    /*
     - (void)setAge:(int)age
     {
     _age = age;
     }
     - (int)age
     {
     return _age;
     }
     */
    
    /*@synthesize age = _number;   赋值给_number
     - (void)setAge:(int)age
     {
        _number = age;
     }
     - (int)age
     {
        return _number
     ;
     }
     */
    
    
    
    // 如果在@synthesize后面没有告诉系统将传入的值赋值给谁, 系统默认会赋值给和@synthesize后面写得名称相同的成员变量
    /*
    // _age? age : age
    @synthesize age;  //就可以使用  [p setAge:88];
    
    - (void)setAge:(int)age
    {
        _age = age;
    }
    - (int)age
    {
        return _age;
    }
     */
    @end
    //
    //  main.m
    //  synthesize基本使用
    //
    //  Created by xiaomage on 15/6/23.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    
    int main(int argc, const char * argv[]) {
        Person *p = [Person new];
        [p setAge:88];
        NSLog(@"age = %i , p->_age = %i", [p age], p->_age);
        NSLog(@"_age = %i, _number = %i", p->_age, p->_number);
        NSLog(@"_age = %i, age = %i", p->_age, p->age);
        
        return 0;
    }
  • 相关阅读:
    Oracle表级约束和列级约束
    什么是SSL证书服务?
    什么是阿里云SCDN
    什么是阿里云CDN
    什么是弹性公网IP?
    什么是云解析DNS?
    什么是DataV数据可视化
    什么是大数据计算服务MaxCompute
    什么是文件存储NAS
    什么是云存储网关
  • 原文地址:https://www.cnblogs.com/yaowen/p/7413863.html
Copyright © 2011-2022 走看看