19.4 组合

如果某种情况,并不适合继承,但是又想使用这个类的一些方法,那么可以使用组合,也就是把这个类的对象,作为属性存在。例如下面的代码,飞机类Plane想使用飞行这个功能,但是不能继承引擎类(Engine),因为这并不符合继承,飞机并不是引擎的一种。于是飞机把引擎列为属性之一,这样就合理多了,同时也可以通过对象engine使用引擎的功能了
public plane{
    private Engine engine;
}