黑马程序员—Objective-C基础_构造方法
来源:互联网 发布:淘宝刷钻怎么刷 编辑:程序博客网 时间:2024/05/22 00:35
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
关键字@property和@synthesize
@interface Person : NSObject
// 使用@property生成和实现成员变量的set方法和get方法,并生成成员变量。
@property NSString *name;
@property int age;
// @property 可以自动生成成员变量的set方法和get方法的声明
@end
@implementation Person
/* @synthesize可以自动生成成员变量的set方法和get方法的实现,可以自动创建成员变量。
@property可以实现@synthesize的这些功能。*/
// @synthesize name;
// @synthesize age;
@end
自动生成set方法和get方法的声明,可以实现@synthesize的功能。
@synthesize
自动生成set方法和get方法的实现,自动生成成员变量
id
万能指针,可以指向、操作任何类型的对象
构造方法
创建对象时使用的new方法继承自NSObject
new方法分为两步:
第一步是给对象分配存储空间,使用alloc方法,
第二步是初始化对象,使用init方法,即构造方法。
格式如下:
Person *p = [[Person alloc] init];
重写构造方法:使创建出来的对象,成员变量会有一些固定值。重写构造方法时,需要先调用父类的构造方法,再进行子类内部成员变量初始化。
这里输出p的age值,使用的时OC中的点语法。输出结构是age = 10。OC中点语法的本质是方法的调用。同等于[对象名 方法名]
自定义构造方法
在创建对象的同时,对对象的属性进行赋值。这里自定义一个构造方法,在进行初始化时,对对象的成员变量name和age进行赋值。
用法:Person *p = [[Person alloc] initWithName:@"jack" andAge:10];
自定义构造方法命名规范
1> 一定是对象方法,以 - 开头
2> 返回值为id类型
3> 方法名以initWith开头
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
重写构造方法:使创建出来的对象,成员变量会有一些固定值。
@implementation Person
// 重写构造方法,初始化成员变量age = 10
- (id)init
{ // 先调用父类构造方法,初始化对象
if (self = [super init])
{ // 初始化成功,对对象成员赋值
_age = 10;
}
// 返回初始化后的对象
return self;
}
@end
使用重写后的构造方法,创建一个对象:
int main()
{ // 创建对象,age初始值为10
Person *p = [[Person alloc] init];
// p.age是点语法,等同于[p age]。点语法的本质是方法的调用。
NSLog(@"age = %d",p.age);
return 0;
}
自定义构造方法
在创建对象的同时,对对象的属性进行赋值。
- (id)initWithName:(NSString *)name andAge:(int)age
{
if (self = [super init])
{
_name = name;
_age = age;
}
return self;
}
用法:Person *p = [[Person alloc] initWithName:@"jack" andAge:10];
自定义构造方法命名规范
1> 一定是对象方法,以 - 开头
2> 返回值为id类型
3> 方法名以initWith开头
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
0 0
- 黑马程序员—Objective-C基础_构造方法
- 黑马程序员——ios基础---Objective-C:构造方法、@property、MRC
- 黑马程序员---Objective-C 构造方法
- 黑马程序员—Objective-C基础_封装、继承、多态
- 黑马程序员—Objective-C基础_内存管理(1)
- 黑马程序员—Objective-C基础_内存管理(2)
- 黑马程序员—Objective-C基础_基本语法
- 黑马程序员-----------Objective-C基础-----------类方法
- 黑马程序员----Objective-C学习笔记之构造方法
- 黑马程序员_构造方法
- 黑马程序员——Objective-C——构造方法和description方法
- 黑马程序员—Objective-C基础_分类以及类的本质
- 黑马程序员——Objective-C语言知识整理——构造方法相关知识总结
- 黑马程序员——高新技术---Java基础语法—面向对象_构造方法,static 关键字
- 黑马程序员——java基础_封装、构造函数
- 黑马程序员——ios基础---Objective-C:基础语法
- 黑马程序员-----------Objective-C基础-----------OC基础
- 黑马程序员_继承之构造方法
- 黑马程序员—Objective-C基础_封装、继承、多态
- Android Fragment
- 羽扇纶巾 雄姿英发 中国历史上的十大儒将
- 线性DP
- JQuery中Ajax的操作
- 黑马程序员—Objective-C基础_构造方法
- 黑马程序员—Objective-C基础_分类以及类的本质
- 时移回看正常,但出现“节目不存在”
- Interleaving String
- 取图像rgb灰色值和反色值公式
- 黑马程序员—Objective-C基础_block、协议
- linux下创建任意大小文件 —— dd命令
- 黑马程序员—Objective-C基础_内存管理(1)
- jvm垃圾回收机制