面向对象的核心元素与机制

面向对象的核心元素:

对象:

对象是对一块内存空间的引用 

方法表: 

每个对象都有一个对应的方法表。

静态语言中一个类的所有实例对象共享一份相同的方法表,此方法表不能动态增加。

动态语言每个对象可以有自己独立的方法表,可以自行在方法表中增加和删除方法。 

静态语言中的接口是一种方法表的契约。

面向对象的核心机制:

不论是静态语言还是动态语言,其主要的面向对象机制都是围绕为对象建立方法表而进行的。

静态语言中的Class以声明的方式为该Class的所有实例对象建立统一的方法表模版;静态语言中的Interface则是方法表的契约。

动态语言以执行代码的方式来动态为某个对象创建方法表,如JS中的Constructor函数。

原文地址:https://www.cnblogs.com/zanxiaofeng/p/5163048.html