从编译原理的角度理解面向对象----0
2015-07-15 19:18
225 查看
(我个人的理解)从编译原理的角度看:类和对象
我应该这样理解:
每一个类,都是一段代码。
每一个对象,都是一个内存和命令。
如果 采用动态链接库的角度来看,可以这样:
每一个对象,都是共享一个类。调用对象的方法其本质是调用的是类的方法。
我们把编译器把内存条,划分出一个不同的区域。
每个区域用于不同的用途。
有用来存储类代码的。
也有用来存储对象的相关属性的区域。
对象的内存区中,含有一张表。在这张表中记录的有一个个映射。
即:关联地址。
当用对象的方法时,会做出查表操作,进而找到该方法在类的存储区域内的地址。
从而把相应的代码加载进来。
而继承也是采用表来实现的。
疑问:什么是多态???如何从编译原理的角度看多态???
我应该这样理解:
每一个类,都是一段代码。
每一个对象,都是一个内存和命令。
如果 采用动态链接库的角度来看,可以这样:
每一个对象,都是共享一个类。调用对象的方法其本质是调用的是类的方法。
我们把编译器把内存条,划分出一个不同的区域。
每个区域用于不同的用途。
有用来存储类代码的。
也有用来存储对象的相关属性的区域。
对象的内存区中,含有一张表。在这张表中记录的有一个个映射。
即:关联地址。
当用对象的方法时,会做出查表操作,进而找到该方法在类的存储区域内的地址。
从而把相应的代码加载进来。
而继承也是采用表来实现的。
疑问:什么是多态???如何从编译原理的角度看多态???
相关文章推荐
- MySQL 运算符和函数
- nyoj 16 最长上升子序列变形
- hive 报错/tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x
- DB2Error
- xcode调试
- Java编程中一些常用的小方法
- Hbase集群扩展
- H.264基本概念
- 黑马程序员--OC中static,self,super等使用
- mac平台adb、tcpdump捕手android移动网络数据包
- 欢迎使用CSDN-markdown编辑器
- pthread_cond_wait的理解
- js前端动态打开本地文件夹选择本地文件
- msys2 安装注意事项
- 获取actionbar上title控件并设置其颜色
- 分布式数据处理解决方案
- 关于一维数组与指针一些实践
- Ajax学习
- HDU 2601 An easy problem
- java的for循环