Inheritance 使用addLiquid()和pourLiquid()方法;“转让”;物体中的液体
我想不出更好的名字来形容我的问题。然而,我将为我所面临的问题提供一些背景 基本上,我正在努力使用pourLiquid()和addLiquid()方法将所有液体从Glass2对象添加到Glass1对象。代码如下: *注: -GLcap是玻璃容量 -GLliq是玻璃液体 -GLcol是玻璃色Inheritance 使用addLiquid()和pourLiquid()方法;“转让”;物体中的液体,inheritance,methods,constructor,Inheritance,Methods,Constructor,我想不出更好的名字来形容我的问题。然而,我将为我所面临的问题提供一些背景 基本上,我正在努力使用pourLiquid()和addLiquid()方法将所有液体从Glass2对象添加到Glass1对象。代码如下: *注: -GLcap是玻璃容量 -GLliq是玻璃液体 -GLcol是玻璃色 package glass; public class Glass { private int GLcap; private int GLliq; private String GLco
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");
}
}
如果问题仍然含糊不清,请让我知道。分离关注点并确定参与者;您应该创建一个Pourer类-负责将液体从一个玻璃杯转移到另一个玻璃杯的对象/人员 大概是这样的:
class Pourer {
public void pour(Glass from, Glass to, int liq) {
from.pourLiquid(liq);
to.addLiquid(liq);
}
}
然后:
如果向您的倾倒/添加液体方法传递的液体过多,则应抛出异常。感谢您的回答!
new Pourer().pour(glass1, glass2, amount);