成员变量和实例变量

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容