举个例子,汽车的制造我们可以从两个方面来考虑:1.我们可以认为汽车的制造是一系列过程的产物,而每个过程有包含子过程,给定适当的材料,经过一系列步骤的加工,最终生产出一辆汽车。2.我们也可以认为汽车的制造是由不同的工厂相互协作完成的,每个工厂有自己的工人和机器,每个工人、每台机器、每家工厂各司其职,最终完成一辆辆汽车的制造。通过观察,我们会发现有一些工人他们有很大的相似性(如他们都穿同样的工作服,生产同样的零件),这时我们会建立一个类来描述他们之间的相似性(抽象)以及定义一个接口规定他们的职责(封装);同样经过观察我们也发现即使是不同的类(如生产不同零件的工人),他们之间也具有某些相似性(比如都在同一家工厂生产零件),但是在相似的地方又有区别(不同种类的工人生产不同的零件),这时我们使用基类(继承)来描述相似性,使用虚函数(多态)来描述相似中的差异。通过上面的分析,我们建立了组成和类层次结构,用面向对象的方法描述了汽车的制造。 |