我在理解 Java 接口的语义时遇到了问题。在用代码填充接口之前,我正在对接口问题进行建模。我通过找出问题中的名词并为它们创建一个接口来做到这一点,例如:
每个房子里至少有一个人。每所房子也可能恰好包含一辆自行车,并且可能包含至少一辆汽车。
因此,我将创建接口 IHouse、IPerson 和 IVehicle(因为未来我们可能会有不同类型的房屋、人员和车辆)。
当我进入这些名词的形容词时,问题就来了,例如:
每个房子、自行车和汽车都可能有某种颜色。
我没有在每个车辆和房屋类中创建以下方法,而是创建了以下接口:
public interface IPainted {
public Paint getPaint();
public void setPaint();
}
并将其应用于车辆和房屋接口:
public interface IVehicle extends IPainted {
}
这是表示形容词的最佳方式吗?