我有以下类(class):房屋、别墅、木屋、车库、门窗。
只有别墅才有车库。 我已了解房屋的门窗数量。 车库内的区域为车库区域。
现在我想生成一个别墅/木屋,有门、窗的数量,以及是否能够车库(如果有的话)的面积。
我创建了每个类,但我仍坚持使用构造函数。 不知道如何正确链接它们。
import javax.swing.JOptionPane;
public class House {
private int opening;
public int getOpenings(){
return opening;
}
public House(String Art) {
if (Art=="Villa") {
House = new House(new Villa(Villa.))
}
}
}
import javax.swing.JOptionPane;
public class Villa extends House {
private Garage garage;
Garage garage = new Garage(JOptionPane.showInputDialog("Garage area"));
}
import javax.swing.JOptionPane;
public class WoodenHouse extends House{
public WoodenHouse() {
}
}
import javax.swing.JOptionPane;
public class Garage {
private int Area;
public void setArea(int f) {
Area = f;
}
public int getArea() {
return Area;
}
}
import javax.swing.JOptionPane;
public class Doors {
int AmountD;
}
public class Windows {
int AmountW;
}
想要最终得到 House1 = 新房子(哪一个,门数量, window 数量,车库?) 有什么事情可以让我结束吗?
最佳答案
我将如何解决这个问题:
我将有一个接口(interface) HasGarages
,带有方法 int numberOfGarages()
或类似的方法。
另一个接口(interface) HouseDetails
,具有方法 int opening()
和 int area()
。
第三个接口(interface)HasGaragesAndMore
(或类似的接口(interface))扩展了两者。
然后让类实现它们需要的接口(interface)。
关于Java 组合类正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58455688/