作者:清风
链接:https://www.zhihu.com/question/62775391/answer/202981221
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
每个对象 都有 自己的 由其他对象所构成的 存储。
我们用小学语文老师教我们的缩句看看这句话的主干——每个对象都有存储。这什么意思?首先我们知道,根据图灵机模型,程序的执行不过是对内存空间的不断读写,改变内存的数据(也即计算机的状态),从而得到最终的计算结果。一个对象可以看做是一块内存,它有自己的状态,我们不断操作这个对象,使得它的状态不断变化,最终得到我们想要的计算结果。那么,这块内存有什么,其实就是我们定义的类中所声明的那些变量。
接下来我们看看定语。
自己的——这个说明,对象与对象之间的独立性。也就是同一个类实例化的两个对象,他们之间互不干扰,相互独立。改变对象A的状态,并不会改变对象B的状态。往底层看,就是两个对象分别有自己的地址空间,对一块内存空间的写并不会反映到另一块内存空间。
由其他对象所构成的——在面向对象的世界,所有东西皆对象。那么,我们在定义一个类时声明了一些变量,它们属于一些数据类型,我们将变量看做一个对象,它们的数据类型就是相应的类。那么我们创建一个对象时,像上面提到,它有一块内存空间,内存空间里面就是类定义的变量,这些变量就是其他对象。
现在我们重新读一下这句话,应该就能理解了。每个对象 都有 自己的 由其他对象所构成的 存储。
希望对你有所帮助