OC基础成员变量、属性变量、实例方法与类方法

时间:2021-10-23 21:19:40

首先,为什么我们要定义一个新类呢?按照我的理解,就是为了抽象出来一个新的东西(也就是类),用来存储更多的数据变量和方法,一切类都直接或间接继承与NSObject。

在类的头文件里我们可以定义成员变量、属性变量、和方法,在方法里又分为实例方法和类方法。

1.成员变量

成员变量可以以三个关键词来修饰,即public、protected、private,用public来修饰的变量为共有的,外部可以访问子类可以继承

用protected来修饰的变量是受保护型的,外部无法访问子类可以继承(成员变量默认为protected);

用private来修饰的变量为私有的,外部无法访问子类无法继承;

2.属性变量

创建一个属性变量系统主要会帮我们做两件事,第一,为这个属性提供一个set方法和一个get方法,第二,会为我们创建一个变量名为“_变量名”

的成员变量。如上,创建的成员变量名为_scholl 和 _score;(property属性还有很多其他知识点,这里不详述,可以参考我的另一篇对于property的一些用法)。

3.实例方法和类方法

实例方法也称对象方法,它必须要用对象去调用这个方法,也就是说要有内存了才能去调用这个方法;

类方法的调用不需实例话,可以直接调用这个方法,也就是说类方法不必占用内存就能调用,类方法通常用于封装一些实现的方法,数据等;

在类方法中不要去调用这个类的成员变量,属性变量和对象方法。

类方法和对象方法的调用区别如下:

最后:必须提醒一下,要在另一个类里面用到这个类的方法或者是变量就必须在那个类中导入这个类的头文件。