图中的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
应属于实例变量。