本质:将成员函数与对象数据进行剥离。
从编程语言的角度看,面向对象是将数据和对数据的操作进行了绑定;
调用对象成员函数,本质是对对象的数据进行操作;对象作为缺省参数传进成员函数,从而完成操作。
从面向对象转化成面向结构编程,需要对成员函数和对象数据进行解绑;
将对象以显式参量的形式传进转换后的函数,从而完成对等的功能。
对象数据与成员函数绑定的结果是,成员函数完全知道对象数据的读取方式和读取约定。
从面向对象到面向过程的转换,本质是成员函数对对象数据访问的重新定制和函数参数传递的重构。
结论:面向对象的语言完全可以转化成面向结构的程序;但是基于数据的业务耦合始终存在。