我认为,OOP是程序设计对自然界的模仿。虽然没有办法明显的指出大自然诸多规律的总结性版本,但是存在即道理。就如同达尔文的适者生存理论一样。
物质的一大特性是客观存在,它不以主观为转移。而编程恰恰是人类思维的计算机实现。这样就很容易在思想上把程序,算法及实现逼入死巷。但由于个人,甚至是人类目前的技术水平,并没有办法预见和处理所有可能出现的问题情况。所以一个非常有效的方法就是模仿。直升机之于蜻蜓,先不论它是如何飞起来的,但一个客观的事实便是它确确实实地飞起来了。所以人类的模仿,便逐步地接近于大自然的规律。虽然有的时候我们并不能准确地对其进行阐述,但最终一个客观的事实是,人类也有了自己飞翔的工具。
这种顺应规律的好处就是,对于人类那些还未发掘,无从所知的神秘区域,即使将来得以重现;或者已经出现,然而一直披着诡异面纱的黑暗杀手,可以轻松地绕过而毫发无损。
1. OOP几个特点
- 万物皆对象,对象间通过传递消息沟通,同一类型对象可以接收一样的消息。
- 2. 对象的关系
- composition,组合,即has-a关系。比如一个类采用另一个类为成员
- aggregation, 聚合, 如果组合是动态发生的话。