1.OOP的特性
面向对象编程的三大特性:1.封装 2.继承 3.多态
封装:高内聚,低耦合
内聚:模块内部成员的关联程度
耦合:模块之间的关联程度
2.实例变量的可见度
修饰词的作用范围:从这个修饰词开始往下的实例变量
(1)public
公共的,可以在类的内部和外部访问
内部访问:实例变量的名字
外部访问:对象->实例变量名
public违背了封装的思想,一般不会使用
2.protected(默认值)
受保护,不能从外部访问,可以在类和子类的内部进行访问
内部访问:实例变量名
外部访问:设置器,访问器
例如:
[mike setAge:18];//调用设置器
NSLog(@"%ld", [mike age]);//调用访问器
可以使用点语法来调用设置器和访问器
当点语法出现在赋值运算符(=)的左侧,调用设置器
其他位置调用访问器
3.private
私有的,只能在类的内部访问,不能从外部和子类进行访问
内部访问:实例变量名
3.方法
(1)方法作用的范围
a.公开的:可以在外部进行访问
b.私有的:不可以在外部进行访问
在类的.h中声明的方法,是公开的方法
在类的.h中没有声明 或者 声明写在.m中的方法,是私有方法
(2)方法的定义
-:实例方法,由对象调用
+:类方法,由类名调用
注:类方法的内部,不能够访问实例变量
(3)类方法和实例方法的优缺点
a.实例方法,方法内部可以访问实例变量,调用方法:需要先创建对象,再用对象调用
b.类方法,方法内部不可以访问实例变量,直接类名调用
(4)种类
a.无参数
- 或 + (返回值类型)方法名
b.一个参数
- 或 + (返回值类型)方法名:(参数类型)参数名;
c.多个参数
- 或 + (返回值类型)方法名1:(参数类型1)参数名1 方法名2:(参数类型2)参数名2 方法名3:(参数类型3)参数名3 ...;
(5)初始化方法
a.必须是-实例方法
b.返回值是id类型
c.方法名以"init"开头
重写系统的初始化方法来为实例变量赋初值
由于系统已经声明过方法,重写初始化方法,只需要写实现部分
(6)自定义初始化方法
例如:
- (id)initWithType:(NSString *)aType price:(CGFloat)aPrice;
(7)如何判断两个方法是否相同
a.+ / -,比较调用方法
b.方法名
注:冒号(:)也是方法名的一部分
@class与#import的区别:#import是真实的引入头文件,@class是避免编译错误,防止循环引用
Objc-C 知识点回顾 二 实例变量 、方法
最新推荐文章于 2021-06-25 02:54:26 发布