getter 和 setter方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getter 和 setter方法相关的知识,希望对你有一定的参考价值。

 在ARC下  setter方法

-(void)setUserArray:(NSArray *)userArray
{
    _userArray = userArray;
}

//getter方法

-(NSArray *)userArray
{
    return _userArray;
}

 

 

在MRC下 setter

-(void)setUserArray:(NSArray *)userArray
{
    if (_userArray != userArray) {
        
        [_userArray release];
        
        _userArray = [userArray retain];
    }
}

getter方法

-(NSArray *)userArray
{
    return _userArray;
}

 

getter 方法 MRC  ARC 是一样的

//如果getter   和 setter 全部重写的话,需要添加

 

需要重写setter 和 getter方法时,需要用@sythesize abc = _abc;

重写一个时,不需要用

 

 

技术分享

 

可以看到在接口 @interface 括号里面的统称为”成员变量”,实例变量是成员变量中的一种!

 

实例变量的英文翻译是 Instance Variable (object-specific storage

 

实例的英文翻译为Instance(manifestation of a class) 说的是“类的表现”,说明实例变量应该是由类定义的变量!

 

除去基本数据类型int float ....等,其他类型的变量都叫做实例变量。
 
也就是说 实例变量 (有setter和getter) + 基本数据类型变量(int、float等等) = 成员变量

 

**实例变量+基本数据类型变量=成员变量**

 

以上是关于getter 和 setter方法的主要内容,如果未能解决你的问题,请参考以下文章

getter和setter方法

使用lombok时@Setter @Getter无效

Python使用@property装饰器--getter和setter方法变成属性

c ++中的getter/setter是正确的方法吗?

Setter 和 getter 的必要性

GroovyGroovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )