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,如需转载请自行联系原作者

相关文章
|
3天前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
15 3
|
15天前
|
C#
SET访问器和GET访问器
SET访问器和GET访问器
25 2
idea按住alt + insert 没有出现get和set方法怎样解决
idea按住alt + insert 没有出现get和set方法怎样解决
|
4天前
|
存储
ES6中的Set数据结构的常用方法和使用场景
ES6中的Set数据结构的常用方法和使用场景
|
1月前
|
JavaScript 前端开发
JavaScript 中的新 Set 方法
JavaScript 中的新 Set 方法
21 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
88 0