pragma mark property修饰符
pragma mark 概念
pragma mark 代码
#pragma mark property修饰符
#pragma mark 概念
#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.age = 22;
// p.name = "lyh";
// p.height = 1.72;
// p.weight = 65;
// [p setName];
#warning 修改getter方法名称
p.height = 99;
NSLog(@"height = %f",[p abc]);
#warning 修改setter方法名称
[p tiZhong:120.0];
NSLog(@"weight = %f",[p weight]);
#warning 判断是否已经 已婚了
[p setMarried:YES];
if ([p isMarried]) {
NSLog(@"已婚");
}
else
{
NSLog(@"未婚");
}
return 0;
}
Person.h //人类
#import <Foundation/Foundation.h>
@interface Person : NSObject
/*
如果给一个属性 同时提供了getter/setter方法, 那么我们称之为 这个属性为 可读可写 属性
如果只提供了 getter方法, 那么我们称之为 这个属性为 只读 属性 (readonly) 只读 (一般名字使用)
如果只提供了 setter方法, 那么我们称之为 这个属性为 只写 属性
如果既没有提供getter也没有提供setter方法, 那么我们称这个属性为私有属性
// m默认情况下, @proerterty 就是 read 我日俄特写
格式:
@property (属性修饰符) 数据类型 变量名称;
*/
#warning readwrite(读写)默认
// readwrite(读写) : 代表及生成getter方法, 也生成setter方法
// 默认情况下 @property就是readwrite的
@property (readwrite)int age;
#warning 修改getter方法的名称 (多用在于BOOL类型)
/*
- (void)setHeight:(double)height;
- (double)height;
- (void)setHeight:(double)height;
- (double)abc;
*/
@property (getter=abc)double height;
#warning 修改setter方法的名称 (少用)
/*
- (void)setWeight:(double)weight;
- (double)weight;
- (void)tiZhong:(double)weight;
- (double)weight;
*/
@property (setter=tiZhong:)double weight;
#warning readonly(只读)
// readonly : 代表只生成getter方法 不生成setter方法
@property (readonly) NSString *name;
#warning 例子 判断是否已经 已婚了
/*
isMarried 说明已经 已婚了
// 是否已婚
// 程序员之间有一个约定, 一般情况下 获取BOOL类型的属性的值,我们都会将 获取的方法的名称(get方法) 改为 isXXX
*/
@property (getter=isMarried)BOOL married;
@end
Person.m
#import "Person.h"
@implementation Person
@end