成员变量和实例变量

class_declaration.jpg

图中的Member Variable declarations翻译过来就是成员变量的声明
貌似 { } 中所声明的变量都为成员变量。
既然如此,实例变量又是什么意思呢?

类: Class (description/template for an object)
实例: Instance (manifestation of a class)
消息: Message (sent to object to make it act)
方法: Method (code invoked by a Message)
实例变量: Instance Variable (object-specific storage)
超类/子类: Superclass/Subclass (Inheritance)
协议:  Protocol (non-class-specific methods)

从上面英文说明中,可以看出:实例(Instance)是针对 类(class)而言的。由此推理,实例变量(Instance Variable) 是指由类声明的对象。再通俗一点,实例变量就是变量类型为类类型的成员变量

上图中的int count是一个成员变量。
NSString *name是一个实例变量(NSString是一个类)。
至于id data应该属于成员变量还是实例变量呢? 因为id是 OC特有的类型。从本质上讲id等同于(void *)。 所以id data应属于实例变量。

你可能感兴趣的:(成员变量和实例变量)