第一讲、类和对象-------(2)-创新互联
一、课程回顾
在铁力等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站建设 网站设计制作按需定制,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站建设,铁力网站建设费用合理。1、面向对象的语言
面向对象编程:以事物为中心
面向过程编程:以事件为中心
2、类和对象
描述类:具有相同特征和行为的事物的抽象
对象是类的实例,类是对象的抽象
3、定义类
接口部分:声明类的特征(实例变量)和行为(方法)
实现部分:实现方法
4、创建对象
Person * p1 = [[Person alloc] init];
alloc 类方法 只有类可以调用
作用:在堆区为对象分配存储空间;将存储空间清空,所有实例变量设置为0;返回对象存储空间的首地址。
init 实例方法 只有对象可以调用
作用:为实例变量设置
p1本质:指向Person类型对象的指针
当某个对象类型的指针指向创建的对象时,将p代指为对象
5、对象调用方法
[p sayHi];
Person * p2 = nil;
p2不能代指为对象,是空指针
在OC中,对nil做任何操作都是无效的
二、实例变量操作
在类的外部(定义类以外的部分)调用public修饰的实例变量时,使用->
1、实例变量赋值
p->_name = @"遥星梦";
p->_age = 18;
2、读取实例变量的值
NSLog(@name = %@, age = %d", p->_name, p->_age);
输出:name = 遥星梦, age = 18
3、重写init初始化
1)声明部分-----Person.h
- (Person *)init;
- (id)init; - (instancetype)init;----通用写法
id通用指针类型,只能指向对象类型
写法:id Teacher * Person * 不能表示int *
2)实现部分------Person.m
- (id)init
{
_age = 18;
return self;
// self表示自己 初始化方法必须返回self
}
4、实例方法
1)声明部分------Person.h
- (void)introduce;
2)实现部分------Person.m
- (void)introduce
{
NSLog(@"我叫%@", _name);
// 所有创建的Person对象,都可以调用属于这个对象的实例方法
// 实例方法中,可以直接使用实例对象
// 哪个对象调用了实例方法,那么实例变量中的值是当前这个对象的值
}
3)调用-------main.m
[p introduce];
输出:我叫遥星梦
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网页名称:第一讲、类和对象-------(2)-创新互联
本文来源:http://ybzwz.com/article/dhdjje.html