Java 组合类正确

标签 java class object

我有以下类(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/

相关文章:

javascript - 尝试重新创建我的 console.log 对象

ios - 通过 Xcode 中的多个 Storyboard segues 传递数据

javascript - JavaScript 中的字符串原语和字符串对象有什么区别?

java - 如何将 char [] 转换为 int?

java - 如果一段代码花费很长时间,则让方法返回 false

java - 简单递归调和法

C++显式转换和隐式转换

java - Java中的Lisp表达式评估器(仅使用一个堆栈)

c++ - c++ sizeof 运算符如何计算大小?

java |调用子类的方法