我想不出一个更好的名字来描述我的问题。但是,我将为所面临的问题提供一些背景信息。
本质上,我正在努力使用pourLiquid()和addLiquid()方法将我Glass2对象中的所有液体添加到我的Glass1对象中。这是代码:
*注意: -GLcap是玻璃容量 -GLliq是玻璃液体 -GLcol是玻璃色
package glass;
public class Glass
{
private int GLcap;
private int GLliq;
private String GLcol;
public int getGLcap()
{
return GLcap;
}
public void setGLcap(int cap)
{
GLcap = cap;
}
public int getGLliq()
{
return GLliq;
}
public void setGLliq(int liq)
{
GLliq = liq;
}
public String getGLcol()
{
return GLcol;
}
public void setGLcol(String col)
{
GLcol = col;
}
public Glass(int cap)
{
GLcap = 0;
}
public Glass(int cap, int liq, String col)
{
GLcap = cap;
GLliq = liq;
GLcol = col;
}
public void addLiquid(int liq)
{
GLliq = GLliq + liq;
}
public void pourLiquid(int liq)
{
GLliq = GLliq - liq;
}
}
这是我的继承人
package glass;
public class HW7 extends Glass{
public HW7 (int cap, int liq, String col)
{
super(cap, liq, col);
}
public static void main(String[] args)
{
HW7 Glass1 = new HW7 (750, 0, "Transparent");
HW7 Glass2 = new HW7 (1000, 900, "Pink");
}
}
如果问题仍然不清楚,请告诉我。
答案 0 :(得分:0)
分离问题并确定<演员> 演员>;您应该创建一个Pourer类-负责将液体从一种玻璃杯转移到另一种玻璃杯的东西。
类似这样的东西:
class Pourer {
public void pour(Glass from, Glass to, int liq) {
from.pourLiquid(liq);
to.addLiquid(liq);
}
}
然后:
new Pourer().pour(glass1, glass2, amount);
如果将过多的液体传递给它们,则您的倾倒/添加液体方法应引发异常。