zoukankan      html  css  js  c++  java
  • oc26--Property,省略setget的声明

    //
    //  Person.h
    
    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    {
        int _age;
    }
    
    /*
     setter: 
     作用: 用于给成员变量赋值
     1.一定是对象方法
     2.一定没有返回值
     3.方法名称以set开头, 后面跟上需要赋值的成员变量名称, 并且去掉下划线, 然后首字母大写
     4.一定有参数, 参数类型和需要赋值的成员变量一直, 参数名称就是需要赋值的成员变量名称去掉下划线
     */
    //- (void)setAge:(int)age;
    /*
     getter:
     作用: 用于获取成员变量的值
     1.一定是对象方法
     2.一定有返回值, 返回值类型和需要获取的成员变量的类型一致
     3.方法名称就是需要获取的成员变量的名称去掉下划线
     4.一定没有参数
     */
    //- (int)age;
    
    
    
    
    
    
    /*
    @porperty是一个编译器指令
     在Xocde4.4之前, 我们只需要写上@porperty就不用写getter/setter方法的声明
     
     - (void)setAge:(int)age;
     - (int)age;
     */
    @property int age;
    
    /*
     - (void)set_age:(int)_age;
     - (int)_age;
     
    @property int _age;
    */
    @end
    //
    //  Person.m
    
    #import "Person.h"
    
    @implementation Person
    - (void)setAge:(int)age
    {
        _age = age;
    }
    
    - (int)age
    {
        return _age;
    }
    @end
    //
    //  main.m
    //  Property基本使用
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    
    int main(int argc, const char * argv[]) {
    
        Person *p = [Person new];
        [p setAge:10];
        NSLog(@"%i",p.age);
        
        return 0;
    }
  • 相关阅读:
    delphi vcl图像的二值化
    黑科技工具,推荐两款开源自动生成代码神器!
    推荐一款最强Python自动化神器!不用写一行代码!
    Java 展开或折叠PDF中的书签
    C# / VB.NET 获取PDF文档的数字签名信息
    滚蛋了
    MySQL 执行计划
    MySQL优化索引
    延时队列 DelayQueue
    【MongoDB】MongoDB 的存储过程
  • 原文地址:https://www.cnblogs.com/yaowen/p/7413859.html
Copyright © 2011-2022 走看看