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方法。

原文地址:https://www.cnblogs.com/im5437/p/4720014.html