从对象的相关知识我们知道,实例的内存中只有数据属性,准确的说应该是只有init构造函数中的数据,还不包括类中其他的数据属性。而类中既有init构造函数中的数据属性还有不在init构造函数中的数据,同时还包含类中的函数属性。
为什么要这样设计呢?因为我们可以通过类来实例化一个个不同的对象,如果此时把类的所有属性都存储在实例的内存中,那么所有的类的函数属性将重复的存放在内存中,这将极大的浪费电脑内存。所有当各个实例有需要的时候再去向类中取相应的函数属性就可以了,这样同时满足了功能的需要,又节省了内存空间。
所以,我们可以肯定的是:通过实例,我们可以访问类中的所有属性,但类却不同访问实例的属性。类既有数据属性也有函数属性,而实例只有数据属性。
转载于:https://blog.51cto.com/10836356/2108784