【学习笔记】【OC语言】set方法和get方法

1.set方法和get方法的使用场合
@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检、水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数
2.set方法
作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值
命名规范:
方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写
形参名称不要跟成员变量同名
3.get方法
作用:返回对象内部的成员变量
命名规范:get方法的名称一般就跟成员变量同名
4.成员变量的命名规范
成员变量都以下划线 _ 开头
可以跟get方法的名称区分开
可以跟其他局部变量区分开,一看到下划线开头的变量,肯定是成员变量
5.代码示例

 1 #import <Foundation/Foundation.h>
 2 // 声明
 3 @interface Car : NSObject
 4 {
 5     int _wheels; // 轮子个数
 6 }
 7 /*set方法*/
 8 - (void) setWheels:(int)wheels;
 9 /*get方法*/
10 - (int) wheels;
11 @end
12
13 @implementation Car
14 // set方法的实现
15 - (void) setWheels:(int)wheels
16 {
17     // 对外面传进来的轮子数进行过滤
18     if (wheels<=0)
19     {
20         wheels = 1;
21     }
22
23     _wheels = wheels;
24 }
25
26 // get方法的实现
27 - (int) wheels
28 {
29     return _wheels;
30 }
31 @end
 1 #import <Foundation/Foundation.h>
 2
 3 @interface Student : NSObject
 4 {
 5     // 成员变量尽量不要用@public
 6     // @public
 7     int age;
 8
 9     //@public
10     // 只读(readonly):只允许外界访问我的no,不允许外界修改我的no
11     int no; // 只需要提供get方法
12 }
13
14 //
15 /*
16  set方法
17  1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤
18  2.命名规范:
19  1> 方法名必须以set开头
20  2> set后面跟上成员变量的名称,成员变量的首字母必须大写
21  3> 返回值一定是void
22  4> 一定要接收一个参数,而且参数类型跟成员变量类型一致
23  5> 形参的名称不能跟成员变量名一样
24  */
25 - (void)setAge:(int)newAge;
26
27 /*
28  get方法
29  1.作用:返回对象内部的成员变量
30  2.命名规范:
31  1> 肯定有返回值,返回值类型肯定与成员变量类型一致
32  2> 方法名跟成员变量名一样
33  3> 不需要接收任何参数
34  */
35 - (int)age;
36
37 - (void)study;
38
39 @end
40
41 @implementation Student
42
43 // set方法的实现
44 - (void)setAge:(int)newAge
45 {
46     // 对传进来的参数进行过滤
47     if (newAge <= 0)
48     {
49         newAge = 1;
50     }
51
52     age = newAge;
53 }
54
55 - (int)age
56 {
57     return age;
58 }
59
60 - (void)study
61 {
62     NSLog(@"%d岁的学生在学习", age);
63 }
64
65 @end
66
67 int main()
68 {
69     Student *stu = [Student new];
70     //stu->age = -10;
71
72     //stu->age = 10;
73
74     [stu setAge:10];
75
76
77     NSLog(@"学生的年龄是%d岁", [stu age]);
78
79     //[stu study];
80
81
82     return 0;
83 }
时间: 2024-10-13 11:43:02

【学习笔记】【OC语言】set方法和get方法的相关文章

黑马程序员——OC语言Set方法和Get方法

@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问 一)set方法 1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤 2.命名规范: 1> 方法名必须以set开头 2> set后面跟上成员变量的名称,成员变量的首字母必须大写 3> 返回值一定是void 4> 一定要接收一个参数,而且参数类型跟成员变量类型一致 5> 形参的名称不能跟成员变量名一样 二)get方法 get方法 1.作用:返回对象内部的成员变量 2.命

JQuery学习笔记-JQuery的html()方法和val()方法

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Untit

iOS学习笔记---oc语言第三天

继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量也继承过来了,只是不能访问) 面向对象提供了继承语法.能大大简化代码,把公共的方法和实例对象写在父类里.子类只需要写自己独有的实例变量和方法即可 继承既能保证类的完整,又能简化代码 继承特点 oc中只允许单继承 没有父类的类称为根类,oc中得根类是NSObject(祖宗) 继承的内容:所有的实例变量

李洪强iOS开发之OC语言description方法和sel

OC语言description方法和sel 一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出. +description(类方法) 使用NSLog和@%输出某个对象时,会调用类对象的description方法,并拿到返回值进行输出,把整个对象一次性打印出来,打印对象使用%@. 使用@%打

iOS学习笔记---oc语言第五天

字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key-value对)的数据 对于“name:张三”来讲,key就是“name”,key对应的value是“张 三” 一个key-value对认为是一个元素(实体),字典是存储key-value对 的容器. 特点: 与数组不同,数组靠下标存取数据,数组的下标是唯一的. 字典靠key存取元素.key不能重复,

iOS学习笔记---oc语言第六天

Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语?中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函数声明,即函数原型.例如:int sum(int x,int y);具有两个整型参 数,一个整型返回值的函数. 函数定义,即函数实现.例如:int sum(int x,int y){     retrun x + y;     } 回顾函数指针 函数指针(变量):存放函数地址(函数名)的指针变量.

iOS学习笔记---oc语言第四天

字符串 数组 一.使用苹果帮助文档 学会使?用苹果帮助?文档是开发者的?一项技能 Inherits from 继承?自 Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可?用的 Declared in 声明在什么头文件?里 Related documents 相关文档 Sample code ?示例代码 快速打开帮助文档 在代码中,将?鼠标停留在 类名或者?法名上,option+?鼠标左键,点击 Reference的超链接进?入帮助?文档

iOS学习笔记---oc语言第二天

实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc  注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- (void)sayHi iOS学习笔记---oc语言第二天

iOS学习笔记---oc语言第七天

类的扩展 NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体的日期 时间和时区 使用+date方法获取当前日期和时间 1 NSDate *date = [NSDate date];//获取当前时间 2 NSLog(@"%@",date);//无论你是哪个时区的时间,打印的总是o时区的时间 3 NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:60*60*8];//从现在开始之后的时间 4 NSLog(

OC语言description方法和sel

一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出. +description(类方法) 使用NSLog和@%输出某个对象时,会调用类对象的description方法,并拿到返回值进行输出,把整个对象一次性打印出来,打印对象使用%@. 使用@%打印对象如(“@%”,P)默认打印输出为<类名