第04天OC语言(02):property基本使用
2017-07-14 00:00
555 查看
不要等到明天,明天太遥远,今天就行动。
#####须读:看完该文章你能做什么?
property的使用
#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)
什么是setter、getter方法
#####一、本章笔记
#####二、code
######main.m
######Person
#####须读:看完该文章你能做什么?
property的使用
#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)
什么是setter、getter方法
#####一、本章笔记
@property 是一个编译器指令 在Xcode4.4之前, 可以使用@property 来代替 getter / setter方法的声明 也就是说我们 只需要写上@property 就不用写getter / setter方法的声明 编译器只要看到 @property, 就知道我们要生成某一个属性的 getter/setter方法的声明 @property int age; 等同于👇 1.定义变量 { int _age; } 2.声明setter 和 getter方法 - (void)setAge:(int)age; - (int)age;
#####二、code
######main.m
######main.m #pragma mark 02-property基本使用 #pragma mark - 代码 #import <Foundation/Foundation.h> #pragma mark 类 #import "Person.h" #pragma mark - main函数 int main(int argc, const char * argv[]) { Person *p = [Person new]; [p setAge:22]; [p age]; [p set_age:22]; [p _age]; return 0; }
######Person
>>>.h #import <Foundation/Foundation.h> @interface Person : NSObject { // int _age; double _height; double _weight; NSString *_name; } @property int age; @property int _age; // 这样格式不符合规范 并且证明 系统是如何生成setter和getter方法的 /* - (void)set_age:(int)age; - (int)_age */ #pragma mark @property /* @property 是一个编译器指令 在Xcode4.4之前, 可以使用@property 来代替 getter / setter方法的声明 也就是说我们 只需要写上@property 就不用写getter / setter方法的声明 编译器只要看到 @property, 就知道我们要生成某一个属性的 getter/setter方法的声明 @property int age; 等同于👇 1.定义变量 { int _age; } 2.声明setter 和 getter方法 - (void)setAge:(int)age; - (int)age; */ #pragma mark getter - setter /* setter: 作用 : 用于给成员变量赋值 1. 一定是对象方法 2. 一定没有返回值 3. 方法名称以set开头, 后面跟上需要赋值成员变量名称,并且去掉下划线,然后首字母大写 4.一定有参数,参数类型 和 需要赋值的成员变量一致, 参数名称 就是 需要赋值的成员变量名称去掉下滑线 */ //- (void)setAge:(int)age; - (void)setHeight:(double)height; - (void)setWeight:(double)weight; - (void)setName:(NSString *)name; /* getter: 作用: 用于获取成员变量的值 1.一定是对象方法 2.一定有返回值,返回值类型 和 需要获取的成员变量的类型 一致 3.方法名称 就是 需要获取的成员变量的名称 去掉下划线 4.一定没有参数 */ //- (int)age; - (double)height; - (double)weight; - (NSString *)name; @end >>>.m #import "Person.h" @implementation Person //- (void)setAge:(int)age //{ // _age = age; //} - (void)setHeight:(double)height { _height = height; } - (void)setWeight:(double)weight { _weight = weight; } - (void)setName:(NSString *)name { _name = name; } //- (int)age //{ // return _age; //} - (double)height { return _height; } - (double)weight { return _weight; } - (NSString *)name { return _name; } @end
相关文章推荐
- 第02天OC语言(02):字符串基本使用
- 第04天OC语言(03):synthesize基本使用
- 黑马程序员——OC语言加强---NSArray 的介绍和基本使用
- 黑马程序员 - OC语言 - NSMutableArray及基本使用
- 第05天OC语言(02):引用计数器和dealloc基本概念
- ios 学习第十七天 OC语言 Protocol基本使用
- 第04天OC语言(14):类工厂方法基本概念
- 第04天OC语言(06):动态数据类型(有多态的情况下可以使用)
- OC语言——点语法和成员变量的4种作用域及property和synthesize的使用
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- 第04天OC语言(04):property增强
- 第04天OC语言(05):property修饰符
- 第02天OC语言(07):#pragmamark基本使用
- iOS 学习第十六天 OC语言 autorelease基本使用
- 黑马程序员——OC语言加强---autorelease基本使用
- IOS开发---OC语言-㉗内存管理ARC的基本使用
- 第04天OC语言(08):构造方法基本概念
- 【Objective-C】OC中KVO的基本概念和使用方法
- 【转载】Velocity模板引擎的介绍和基本的模板语言语法使用
- 【Objective-C】OC中自定义对象的归档基本概念和使用方法(实现NSCoding协议)