Objective-C编程语言课程笔记(三)属性与实例(极客班)

一、类的数据成员

1、实例变量:对内
2、属性:对外

二、属性

1、认识属性

Objective-C编程语言课程笔记(三)属性与实例(极客班)_第1张图片
Paste_Image.png

(1)定义一个属性
·位置:interface
·关键字描述符:@property
·属性类型

@interface Employee:NSObject
@property NSString* firstName;
@property NSString* lastName;
@property NSDate* birthday;
@property (readonly) NSString* fullName;
@property WorkItem* workItem;
@end

2、访问属性的方法
(1)一般方法

[employee setFirstName:@"Tom"];
NSLog(@"First Name:%@",[employee firstName]);

employee.lastName=@"chen";
NSLog(@"Last Name:%@",employee.lastName);
employee.age=32;
[employee print];

(2)自定义访问方法
在实现文件(@implementation)中定义访问方法

-(NSSTring *)fullName{
  return [NSString stringWithFormat:@"%@ %@",self.firstName,self.lastName];
}

·更改属性名称
@property (getter=GivenName) NSString* firstName;
·更改实例变量名
@synthesize firstName=givenName;
2、属性的描述特性

Objective-C编程语言课程笔记(三)属性与实例(极客班)_第2张图片
Paste_Image.png

(1)强引用(默认),只用于类类型,值类型直接内嵌

Objective-C编程语言课程笔记(三)属性与实例(极客班)_第3张图片
Paste_Image.png

强引用会造成循环引用,可能ARC会出现内存泄漏

Objective-C编程语言课程笔记(三)属性与实例(极客班)_第4张图片
Paste_Image.png

(2)拷贝属性

Objective-C编程语言课程笔记(三)属性与实例(极客班)_第5张图片
Paste_Image.png
Objective-C编程语言课程笔记(三)属性与实例(极客班)_第6张图片
Paste_Image.png

你可能感兴趣的:(Objective-C编程语言课程笔记(三)属性与实例(极客班))