【极客班】类与对象

重点理解:

结构只有实例变量。

类有下列成员:

实例变量是对内的,反映内部状态,属性是对外的。属性表达的是实例状态。

对于一个属性,编译器会自动生成三样东西;

1.实例变量(属性名字前面加下划线) 2.get访问器方法  3.set访问器方法

类外不能访问实例变量。访问器方法可以自定义。

也可以给类型定义属性,用全局静态变量。模拟出来类型属性。

理解使用属性和实例变量的时机。

类外一律使用属性。类的实例变量是私有的只能在类内访问。访问属性推荐用self.(原因和内存管理有关)

值类型的(无属性封装)用实例变量访问,能用属性就用属性。

以下要注意:

实例变量无内存管理的考虑。

循环引用会造成内存泄漏。弱引用(weak)ARC不做内存计数。弱引用的用处,阻止循环引用。

注意一般不存在类型属性,但是可以使用静态全局变量+类方法,模拟类属性。比较不常用。

你可能感兴趣的:(【极客班】类与对象)