同样学习编程的来分享一点理解:面向对象不是简单的对编程对象的处理方式。它确切的说应该是这样的样子:首先将现实世界中,主体(即所谓对象)和主体间的关系进行想象(抽象),对应到编程中,强调程序中的各个主体(对象)和他们得关系(继承,多态什么的)一一对应现实世界中的主体。 所谓面向对象,就是讲编程的理念,从对数据的算法分析,转变为对现实世界问题的剖析,进而使编程摆脱数据的束缚,使得程序就像自然世界的主体和主体间的关系那样, 先将程序变为为一个一个的主体的组合体,然后看主体间的关系,自然而然的使得代码非常好维护,重用性也非常强,因为你知道DOG就是现实中的狗,那么狗这个主体有什么功能你自然知道,狗和人是什么关系,你也清楚,你就不必看代码来分析这段代码什么意思,和那段又有什么关系了。这是不是一种非常自然明了的编程方式呢。 很多教程上来就说这个怎么用,那个怎么回事,看代码看到头晕也不甚明了,编出的程序乱七八糟,想怎么编就怎么编,实际上,这样子编程已经不是面向对象了,因为他即不剖析主体和主体间的关系,也不将程序中的主体与关系和现实一一对应主体。 其实我很想知道,写那些编程书籍的人,本身是否是程序员,本身是否明白什么是面向对象,知不知道面向对象是一种程序的设计方式,而不是程序的编写方式。 以上是我对面向对象这个问题的大局观以及一些观点,也不知道对不对,因为根本没有人说个这个东西。如有错误,请不吝赐教!直接回复即可,谢谢。