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