什么是面向对象? ——很老的问题,却是一个不简单的问题。
记得大一第一节计算机课就讲到了什么是面向对象。可惜大学里的老师也是个刚毕业的娃娃,课堂上给我们读了一遍就算是教给我们了。后来也为了考试,死记硬背把记了下来。
面向对象:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。
后来工作了,一段时间里好象明白了什么是面向对象,又一段时间里感觉只能体会不能言传。
到底什么是面向对象?到今天,我还是只能说,不清楚。
原因,不是我记不下面向对象的定义,而是,面向对象这个概念,实在不那么简单。
在面向对象的设计模式有:
Abstract Factory,Builder,Factory Method,Prototype,Singleton,Adapter,Bridge,Composite,Decorator,FACADE,Flyweight,Proxy,COMMAND,INTERPRETER,ITERATOR,MEDIATOR,MEMENTO,OBSERVER,STATE,STRATEGY,STRATEGYTEMPLATE METHOD,VISITOR......
没具体实践过这些,我认为不能说知道了什么是面向对象。
于是,我继续寻找:什么是面向对象?