0

为了做出我认为合理的类比,假设我有一个“饮料”界面。我可以填充它,倾倒它,也许还可以做一些其他的事情。在我把吸管放进去之前,我需要知道有多少人在喝这种饮料。所以很自然地,这会导致带有drinkFromStraw() 方法的“OneStrawDrink”接口和带有drinkFromLeftStraw() 和drinkFromRightStraw() 方法的“TwoStrawDrink”接口。如果我需要更改饮料的功能,我希望这两个接口都扩展饮料接口,但我不希望任何人能够实现“饮料”接口,因为它在不知道如何的情况下是不可饮用的许多吸管要放入。 oneStrawDrink 和 twoStrawDrink 仍然必须被识别为包装外的饮料,所以离开饮料接口包私有不是一种选择。是否有可能使饮料界面无法实现?还是我必须对其进行重组以获得所需的功能?

4

0 回答 0