黑马程序员--IOS基础第十八天(OC)



1、类方法
1
)什么是类方法
对象方法:
-(
返回值类型)方法名:(形参的类型)形参名;
类方法
+(
返回值类型)方法名:(形参的类型)形参名;
2
)类方法怎么去定义
+(
返回值类型)方法名:(形参的类型)形参名;
3
)类方法的使用
调用:
对象方法:[对象名 方法名:实参]
类方法:[类名 方法名:实参]
4
)使用类方法的好处
1
)提高效率
2
)减少内存空间占用
3
)代码更加简洁
缺点:不能访问对象的成员变量
5
)对象方法和类方法的对比
类方法 对象方法
+开头 - 开头
只能使用 类名 去调用 只能使用对象去调用
不能访问成员变量 可以访问成员变量
类方法中可以调用对象方法在对象方法中,可以直接调用类方法
1
)对象作为方法的参数传递过来
2
)在方法中通过创建对象,然后
再调用
2
、匿名对象的使用
匿名对象 -
创建了对象,但是没有指针去指向它
[Person new];
特点: 每次使用都会新申请一块内存空间
1
)可以访问成员变量
[Person new]->_name = @"
三胖";
NSLog(@"%@",[Person new]->_name); //null
2
)可以调用方法
[[Person new] run];
3
)可以作为方法的参数
[p goHome:[Car new]];
3
、面向对象特性-封装
1)
什么是封装?
把复杂的数据或者操作进行隐藏,只提供操作数据或者方法的接口
好处:
如果要操作数据、方法必须按照要求
1
)隐藏数据
2
)隔离变化
3
)保护数据安全
2)
不封装有什么缺点?
对象失去了对对象自己的成员变量的管理权
3
如何进行封装?
通过定义相关的方法,去读取或者写入数据到成员变量中
并且成员变量的操作必须通过方法来完成
1
)读方法(getter - 读取成员变量的值
规范:
1
)一定是一个对象方法
2
)一定有返回值
3
)方法名一定是 去掉下划线的 成员变量名
4
)一定没有参数
5
)方法的实现中:一定是返回值成员变量名
2
)写方法(setter - 给成员变量赋值
OC
中的规范:
1
)一定没有返回值
2
)一定是对象方法( -
3
)方法名一定是以set开头 格式:set + 去掉下划线的成员变量名的首字母大写
4
)一定有参数
5
)参数的类型一定是和成员变量类型一致
6
)形参的名称一般建议是 去掉下划线的成员变量名
7
)写方法的实现中,一定是给成员变量赋值
4
、对象和对象之间的关系
1
组合模式
由若干个类型相同或者实现了同一个接口的对象组合到一起
2
依赖关系
A
对象作 B对象的方法形参或者方法的局部变量使用,B依赖A
3
关联关系
A
对象 作为B对象的一个成员变量,AB有关联关系
1)在线安装(需要联网,速度慢)
2)需要自行下载离线文档包(速度快,复制文档到指定目录即可)
5
Xcode文档安装方法
1)方法重载,在一个类中定义同名的方法,但是方法的参数类型或者个数不同
OC
中没有方法重载:因为“方法名:“ 才是真正的方法名
6、关于OC中方法重载问题
1static不能修饰类的实例变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值