我找到了一个回答,让我更好地理解了类组合。
但这不是门面模式吗?门面不是通过将类分成子类使其更简单的方法吗?那么组合和门面有什么区别呢?
或者我弄错了,门面是一种设计模式,但组合更像是一种应该遵循的好习惯。我们可以说使用门面是在进行组合吗?
class Engine
{
}
class Automobile
{
}
class Car extends Automobile // car "is a" automobile //inheritance here
{
Engine engine; // car "has a" engine //composition here
}
但这不是门面模式吗?门面不是通过将类分成子类使其更简单的方法吗?那么组合和门面有什么区别呢?
或者我弄错了,门面是一种设计模式,但组合更像是一种应该遵循的好习惯。我们可以说使用门面是在进行组合吗?