zoukankan      html  css  js  c++  java
  • O-C相关-07-@property关键字简介与使用


     

    基本概念:在O-C中,创建完类之后还需要给一个类添加属性和方法,之前说过的set和get方法比较繁琐,因此引入了@property 这个编译器指令.@property 是一个编译器指令.所谓的编译器指令, 即告诉编译器如何处理内容, 要做什么.@property 告诉编译器声明读写器( getter 方法与 setter 方法)


     1.在今天的 Xcode 中, @property 可以同时生成实例变量, 方法的声明以及方法的实现.

     

     

    2, 重写 getter 方法与 setter 方法

     

    虽然 @property 很方便, 但是自动生成的方法总会有不满足需求的一天. 因此, 可以重写getter 方法或 setter 方法, 已满足使用的需求.

     

    这里的重写不是继承中重写父类方法, 而是自己实现需要的 setter 方法或 getter 方法, 从而不让系统自动生成, 而没有自己写的方法还是由编译器生成. 但是不能同时自己实现两个方法

    一个例子,使用@property就可以替代被注释掉的部分:

    #import <Foundation/Foundation.h>


    @interface employee : NSObject

    //(1) 类中姓名、年龄和工资属性分别使用char数组,int变量以及double变量存储。

    {

    //    NSString * _name;

    //    

    //    int  _age;

    //    

    //    double  _salary;

    //    


    }

    //使用便捷的@property,取代 set get


    @property NSString *  name;

    @property int * age;

    @property double salary;

    -(void)mythod;




    ////设计show方法。

    //-(void)show;

    ////封装三个方法设置器

    //-(void)setName:(NSString * )name;

    //-(void)setAge:(int)age;

    //-(void)setSalary:(double)salary;

    ////getter方法

    //

    //-(NSString *)name;

    //-(int)age;

    //-(double)salary;


    @end


     

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    PAT甲级——A1133 Splitting A Linked List【25】
    PAT甲级——A1132 Cut Integer
    PAT甲级——A1131 Subway Map【30】
    PAT甲级——A1130 Infix Expression【25】
    PAT甲级——A1129 Recommendation System【25】
    PAT甲级——A1128 N Queens Puzzle【20】
    PAT甲级——A1127 ZigZagging on a Tree【30】
    PAT甲级——A1126 Eulerian Path【30】
    PAT甲级——A1125 Chain the Ropes【25】
    集合的一个小发现
  • 原文地址:https://www.cnblogs.com/wahy/p/4817238.html
Copyright © 2011-2022 走看看