我正在閱讀Head First Design Patterns並在Java中有一些理解。它首先封裝一些與你的類不同的東西,然後把它們放在一個單獨的接口中,而不是把這些功能放在子類中。他們給出的例子是一個抽象的鴨子類,可以根據鴨子嘎嘎或飛翔。他們有一個呱呱和飛行接口(QuackBehavior和FlyBehavior接口),然後在其他類中實現這些接口。Java中行爲接口類型的引用變量
在這個例子中,他們有抽象類鴨如下
public abstract class Duck {
QuackBehavior quackBehavior;
FlyBehavior flyBehavior;
.....
}
我猜是新的我是具有實例變量是接口類型。我從來沒有聽說過,但我認爲它是有效的?我想我更熟悉擁有一個具體類的實例變量。是否有類似這樣的類/接口的實例變量的規則?謝謝。