oc-16-set,get方法

简介:

S.h

复制代码
#import <Foundation/Foundation.h>
/**
 解决方案:
 1.不用@public修饰
 2.我们对象有访问和设置成员变量的两种操作
 1>设置值
 p->age = 10;
 2>访问值
 NSLog(@"%d",p->age);
 
 现在要提供两个方法来进行设置值和访问值
 1>设置成员变量
 约定的格式:
 - (void)set成员变量名(去掉下划线,首字母大写):(成员变量数据类型)成员变量名(去掉下划线);
 - (void)setAge:(int)age;
 
 2>访问成员变量
 约定的格式:
 - (成员变量数据类型)成员变量名(去掉下划线);
 - (int)age;
 */

//.h文件时暴露在外面的,.m文件是隐藏的。

@interface Student : NSObject
{
    int _age;  // 年龄,成员变量又下划线,局部变量没有下划线。
    NSString *_name; //名字
}
// 提供年龄的设置和访问的方法
- (void)setAge:(int)age;
- (int)age;

// 设置和访问名字的方法
- (void)setName:(NSString *)name;
- (NSString *)name;
@end
复制代码

S.m

复制代码
#import "Student.h"

@implementation Student

// 提供年龄的设置和访问的方法
- (void)setAge:(int)age
{
    if (age > 0 && age < 120) {
        _age = age;
    }else{
//        age = 20;
        _age = 20;
    }
}

- (int)age
{
    return _age;
}


// 设置和访问名字的方法
// 比较两个字符串是否相同 - (BOOL)isEqualToString:(NSString *)aString;
- (void)setName:(NSString *)name
{
    
    if ([name length] > 2) {
        if ([name isEqualToString:@"D大调"] ||[name isEqualToString:@"D大调方法"]) {
            _name = @"佚名";
            
        }else{
            _name = name;
        }
    }
    else
    {
        NSLog(@"请重新输入!");
    }
    
}
- (NSString *)name
{
    return _name;
}
@end
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5309201.html,如需转载请自行联系原作者

相关文章
|
6天前
|
C#
SET访问器和GET访问器
SET访问器和GET访问器
18 2
idea按住alt + insert 没有出现get和set方法怎样解决
idea按住alt + insert 没有出现get和set方法怎样解决
|
29天前
|
JavaScript 前端开发
JavaScript 中的新 Set 方法
JavaScript 中的新 Set 方法
19 1
|
2月前
|
Python
python中set和frozenset方法和区别
python中set和frozenset方法和区别
|
2月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
|
2月前
|
Java Linux 开发者
|
2月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
|
2月前
Intellij idea 生成带注释的get/set
Intellij idea 生成带注释的get/set
82 0
|
3月前
|
NoSQL Java Redis
Redis16-RedisTemplate快速入门,max -idle,min-idle,max-wait,用set的方法,opsForValue().set的方法
Redis16-RedisTemplate快速入门,max -idle,min-idle,max-wait,用set的方法,opsForValue().set的方法
TypeError: Cannot set properties of undefined (setting ‘resdata‘),res定义数据出现的问题,定义的方法用this换成that
TypeError: Cannot set properties of undefined (setting ‘resdata‘),res定义数据出现的问题,定义的方法用this换成that