Мое назначение этого (я должен использовать наследование):MonetaryCoin наследство
Проектирования и реализацию класса под названием MonetaryCoin
, который является производным от класса Coin
. Сохраните значение в денежной монете, которое представляет его значение, и добавьте метод, который возвращает его значение. Создайте класс ClientTester
, чтобы создать экземпляр и вычислить сумму нескольких различных объектов MonetaryCoin
. Например, Dime, Quarter и HalfDollar имеют общую стоимость 85 центов. Монета наследует способность своего родителя перевернуть.
Мой класс `Монета
import java.util.Random;
public class Coin
{
private final int HEADS = 0;
private final int TAILS = 1;
private int face;
// Constructor... sets up the coin by flipping it initially
public Coin()
{
flip();
}
// flips the coin by randomly choosing a face value
public void flip()
{
face = (int)(Math.random()*2); //random numbers 0 or 1
}
// returns true if the current face of the coin is head
public boolean isHeads()
{
return (face == HEADS);
}
// returns the current face of the coin as a string
public String toString()
{
String faceName;
if(face==HEADS)
{ faceName = "Heads"; }
else
{ faceName = "Tails"; }
return faceName;
}
}
Мои MonetaryCoinClass
является
public class MonetaryCoin extends Coin
{
private int value;
public MonetaryCoin(int value)
{
this.value = value;
}
public int getValue()
{
return this.value;
}
public void setValue(int value)
{
this.value = value;
}
public int add(MonetaryCoin [] mc)
{
if (mc.length >= 0)
return -1;
int total = this.value;
for (int i = 0; i < mc.length; i++)
{
total += mc[i].getValue();
}
return total;
}
}
И, наконец, мой клиент
public class Client
{
public static void main()
{
MonetaryCoin mc1 = new MonetaryCoin(25);
MonetaryCoin mc2 = new MonetaryCoin(13);
MonetaryCoin mc3 = new MonetaryCoin(33);
int total = mc1.add(mc2, mc3);
int value = mc2.getValue();
}
}
Мои Client
является единственным, который не будет компилироваться. Я понятия не имею, что я делаю для клиента. Я должен использовать команду flip, которую я сделал ранее.
Пожалуйста, помогите!
Update: Мой клиент теперь
public class Client
{
public static void main()
{
MonetaryCoin mc1 = new MonetaryCoin(25);
MonetaryCoin mc2 = new MonetaryCoin(13);
MonetaryCoin mc3 = new MonetaryCoin(33);
MonetaryCoin[] test = new MonetaryCoin[2];
test[0] = mc2;
test[1] = mc3;
int total = mc1.add(test);
int value = mc2.getValue();
System.out.println("total: " +total+ " values: " +value);
}
}
и компилирует. Однако, как я могу сделать так, чтобы монета наследовала способность родителя перевернуть?
, пожалуйста, не связывайтесь с внешним изображением с сообщением об ошибке. вместо этого ставьте его в исходный вопрос. – aep
Монета - родитель. MonetaryCoin уже наследует метод Flip Coin, поэтому вы можете вызвать 'mc1.flip()', чтобы перевернуть MonetaryCoin, и он будет называть 'Coin.flip()'. – mmking