OC成员变量和点语法 的访问
一.使用 _成员变量名对成员变量进行访问
在方法中,可以使用 "_成员变量名" 对本对象中的成员变量进行访问。
注意点:
1>成员变量必须是本对象中的成员变量
2>如果成员变量是从父类中继承而来,而且父类中的此成员变量被设置为@private时,不可以用这种方式。
3>可以与&取址符搭配使用
二. 使用get set方法对成员变量进行访问
既写一个专门用来赋值,取值的方法来对成员变量进行访问
注意点:
1>set get方法必须是对象方法,用对象来调用,对此对象内部的成员变量进行访问。 必须有对象,或者拿到对象,才能使用get,set
2>set 是赋值方法,get是取值方法。get方法有返回值,调用后会返回此成员的具体值,因此不可以与&取址符搭配使用 。
3> 原则上只要有对象,或者拿到了对象就可以使用get set方法,但是如果类中只有set,get的实现,没有声明,那么get,set此时是本类的私有方法,只可在本类中使用,不可在类外部使用,甚至子类都不可使用。
三.使用.语法
.语法是在预编译时调用set,get方法,因此本质是set,get方法
注意点:
1>要使用点语法要保证有对象,或者拿到了对象
2>要使用.语法必须确保有成员变量的set,get方法
3>点语法不可与&取址符搭配使用,原因同set,get
四.使用指针
既使用”对象名->_成员名“这种指针的方式对成员变量进行赋值
注意点:
1>当成员是@public时,可以在外部直接使用指针方式对成员进行访问
2>当成员是@protected时,不可在类的外部使用,可以在类中,子类中使用,也可以在其他类中使用,但是前提是必须拿到对象。
3>当成员是@private时,不可在子类中使用此方法,只可使用get,set方法对其进行访问。
self,super,在编程中可以灵活使用,搭配指针方法,set,get方法。