—开头的是对象方法,要由对象来调用
+ 开头的是类方法,由类直接调用,[类名 类方法名]
类方法可以与对象方法名同名
类方法的优点:
节省内存空间
提高效率
作为工具方法
类方法的易犯错误:
类方法不能调用自己的属性,因为属性存在于对象里,对象在堆里,类方法并没有生成对象
对象方法可以调用其他的对象方法
对象方法可以调用类方法
类方法可以调用其他对象的方法
以上都是接受一个对象来实现
类方法可以调用其它类方法
直接通过类来操作
类方法如果调用自身,则会陷入死循环,除非设置终止条件
匿名对像:
没有名字的对象,这个名字指的是变量名,如:[类名 new]; 或 [[类名 alloc]init]; 没有变量接收
匿名对象访问方法:
1.访问使用属性的方法,2.访问不使用属性的方法
匿名对象作为参数:当用不到对象的属性时
封装:隐藏对属性和实现细节,只对外提供公共访问方式
(简单来说就是:我让你用什么,你才能用什么。我让你怎么用,你就得怎么用。我让你知道什么,你才能知道什么。)
隐藏了细节,只提供了公共的访问方式
提高了代码的复用性
更安全
封装的步骤
1.setter 设置器
1)是一个对象方法(类方法不能访问属性)
2)固定返回值类型是void
3)方法固定是:set不加下划线的属性名,并且属性名的首字母大写
4)参数类型必须和属性名一致
5)参数名应该也是不加下划线的属性名
6)实现的时候,属性赋值
—(void)set不加下划线的属性名:(参数类型)参数名;
2.getter 访问器
1)是一个对象方法
2)必须有返回值
3)返回值必须是和要获得的属性的类型一致
4)方法名是不加下划线的属性名
5)必须返回我们的属性
耦合度:修改一个对象的时候,对另一个对象的影响度
高内聚:指在一个模块内,应尽可能让每个元素都紧密的
提倡:高内聚,低耦合
B使用A ,则B依赖A
B为A的变量时,A对象拥有B对象,A的属性是B
关联关系的耦合度高于依赖关系
一个是属性,一个只是使用
Xcode API在线安装
打开Xcode,首选项找到DownLoads,下载所需要的版本
对象方法名不能彼此同名,类方法名彼此不能相同
OC中没有重载
static不可以修饰方法,对象方法与类方法都不可以
static不可以修改属性
static可以修改局部变量与全局变量