(我个人的理解)从编译原理的角度看:类和对象
我应该这样理解:
每一个类,都是一段代码。
每一个对象,都是一个内存和命令。
如果 采用动态链接库的角度来看,可以这样:
每一个对象,都是共享一个类。调用对象的方法其本质是调用的是类的方法。
我们把编译器把内存条,划分出一个不同的区域。
每个区域用于不同的用途。
有用来存储类代码的。
也有用来存储对象的相关属性的区域。
对象的内存区中,含有一张表。在这张表中记录的有一个个映射。
即:关联地址。
当用对象的方法时,会做出查表操作,进而找到该方法在类的存储区域内的地址。
从而把相应的代码加载进来。
而继承也是采用表来实现的。
疑问:什么是多态???如何从编译原理的角度看多态???
我应该这样理解:
每一个类,都是一段代码。
每一个对象,都是一个内存和命令。
如果 采用动态链接库的角度来看,可以这样:
每一个对象,都是共享一个类。调用对象的方法其本质是调用的是类的方法。
我们把编译器把内存条,划分出一个不同的区域。
每个区域用于不同的用途。
有用来存储类代码的。
也有用来存储对象的相关属性的区域。
对象的内存区中,含有一张表。在这张表中记录的有一个个映射。
即:关联地址。
当用对象的方法时,会做出查表操作,进而找到该方法在类的存储区域内的地址。
从而把相应的代码加载进来。
而继承也是采用表来实现的。
疑问:什么是多态???如何从编译原理的角度看多态???