什么叫做“面向对象”,什么叫“面向过程”?
如果这两个都是思想,那么这两者总是混在一起使用的。比如面向对象的class有个成员函数,这个函数内部多半就是面向过程的了。比如写个简单的脚本来调用一个Java程序,又是面向过程的东西在调用面向对象的东西了。
这两者怎么分得开呢?
用C写的kernel,我觉得就很面向对象。这算不算是用面向过程的语言,实现了一个面向对象的操作系统呢?
最面向对象的操作系统,是用最面向过程的C语言实现的。这算不算是矛盾?
我觉得面向对象这个概念本身就没多少意义。因为它指的是“抽象”“封装”“重用”,这几乎指的是“科学方法”。
一个概念如果没提出有价值的新东西,那么这个概念本身就没多少意义。