黑马程序员-我的第十篇学习日记:OC中点语法,@property和@synthesize,完整创建一个可用对象
2014-03-29 18:08
274 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
完整创建一个可用对象
1.分配存储空间 +alloc
2.初始化 init
如:Person *p1 = [Person alloc]; //调用+alloc分配存储空间
Person *p2 = [Person init]; //调用-init进行初始化
Person *p3 = [[Person alloc] init]; //两句合成一句,先调+alloc给类对象分配存储空间,然后调用-init进行初始化
点语法
点语法本质还是方法的调用
如:Person
*p3 = [[Person alloc] init];
p3.age=10; //相当于[p3 setAge: 10]set方法 ,访问了成员变量age且赋值10
int a = p3.age //相当于[p age]get方法
@property和@synthesize
@property:可以自动生成某个成员变量的set和get方法的声明
写法:
@property int age;
上面的程序相当于-(void)setAge: (int)age;和-(int)age;的声明
@synthesize
@synthesize:系统自动生成set方法和get方法的实现,并且访问成员变量
如:@synthesize
age = _age; //会访问_age这个成员变量,如果不存在,就会自动生成@private类型的_age变量
上面程序相当于
-(void)setAge: (int)age
{
_age=age;
}
和-(int)age
{
return
_age;
}
注意:如果你写了set方法和get方法其中一个,又写了@property和@synthesize
系统会自动补完整set方法和get方法的声明和实现
如果set方法和get方法都写了,然后又写了@property和@synthesize
那@property和@synthesize就没有作用了
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
完整创建一个可用对象
1.分配存储空间 +alloc
2.初始化 init
如:Person *p1 = [Person alloc]; //调用+alloc分配存储空间
Person *p2 = [Person init]; //调用-init进行初始化
Person *p3 = [[Person alloc] init]; //两句合成一句,先调+alloc给类对象分配存储空间,然后调用-init进行初始化
点语法
点语法本质还是方法的调用
如:Person
*p3 = [[Person alloc] init];
p3.age=10; //相当于[p3 setAge: 10]set方法 ,访问了成员变量age且赋值10
int a = p3.age //相当于[p age]get方法
@property和@synthesize
@property:可以自动生成某个成员变量的set和get方法的声明
写法:
@property int age;
上面的程序相当于-(void)setAge: (int)age;和-(int)age;的声明
@synthesize
@synthesize:系统自动生成set方法和get方法的实现,并且访问成员变量
如:@synthesize
age = _age; //会访问_age这个成员变量,如果不存在,就会自动生成@private类型的_age变量
上面程序相当于
-(void)setAge: (int)age
{
_age=age;
}
和-(int)age
{
return
_age;
}
注意:如果你写了set方法和get方法其中一个,又写了@property和@synthesize
系统会自动补完整set方法和get方法的声明和实现
如果set方法和get方法都写了,然后又写了@property和@synthesize
那@property和@synthesize就没有作用了
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员——OC语言学习——Xcode开发初始化、点语法、成员变量作用域、关键字@property和@synthesize
- 黑马程序员之ios学习总结——09 OC语言的点语法、@property和@synthesize
- 黑马程序员-我的第十三篇学习日记:OC中dealloc方法和@property作用
- 黑马程序员——零基础学习iOS开发——10 Object-C 面向对象思想、OC语法简介、对象、类、
- 黑马程序员——OC基础---核心语法(点语法,成员变量的作用域,@property和@synthesize)
- 黑马程序员-iOS学习日记(一)OC基本语法
- 黑马程序员———OC学习第三天(@property和@synthesize关键字)
- 黑马程序员学习笔记_OC之@property和@synthesize
- 黑马程序员-IOS学习笔记 OC创建对象时 系统做了些什么
- 黑马程序员-OC语言-创建一个对象并访问成员变量(听课笔记)
- 黑马程序员_OC学习之@property、点语法
- 黑马程序员——OC语言------NSString、多文件开发、点语法、成员变量的作用域、@property和@synthesize
- 黑马程序员---OC学习笔记之autorelease快速创建对象的应用
- 黑马程序员——OC基础语法—@property和@synthesize使用
- 黑马程序员-我的第六篇学习日记:OC方法的使用,对象方法与函数的区别
- 黑马程序员_iOS开发之OC之面向对象之多文件操作、点语法、成员变量的作用域和关键字@property与@synthesize
- 黑马程序员:OC学习日记之核心语法二
- 黑马程序员-我的第十二篇学习日记:OC中空指针,野指针,僵尸对象,retain和release基本使用
- 黑马程序员--OC自学笔记---05点语法、@property、@synthesize、动态类型、id类型、响应方法、构造方法
- 黑马程序员:OC学习日记之self