Cíl: vylepšit třídu Ucet
Postup:
Zdokonalíme náš příklad s účtem tak, aby si účet "hlídal", kolik se z něj převádí peněz
Zdokonalenou verzi třídy Ucet nazveme KontokorentniUcet
public class KontokorentniUcet extends Ucet {
// double zustatek; znovu neuvádíme
// ... zdědí se z nadtřídy/předka "Ucet"
// kolik mohu "jít do mínusu"
double povolenyKontokorent;
public void pridej(double castka) {
if (zustatek + povolenyKontokorent + castka >= 0) {
// zavoláme původní "neopatrnou" metodu
super.pridej(castka);
} else {
System.err.println("Nelze odebrat částku " + (-castka));
}
}
// public void vypisZustatek() ... zdědí se
// public void prevedNa(Ucet u, double castka) ... zdědí se
// ... předpokládejme, že v třídě "Ucet" používáme variantu:
// pridej(-castka);
// u.pridej(castka);
// }
}
Vzorový zdroják sám o sobě nepůjde přeložit, protože nemáme třídu, na níž závisí. Celý kód vystavím až po kontrole příslušných úloh.