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 Account
nazveme CreditAccount
Příklad 1. Příklad kompletního zdrojového kódu třídy
public class CreditAccount extends Account {
// private double balance; znovu neuvádíme
// ... zdědí se z nadtřídy/předka "Account"
// kolik mohu "jít do mínusu"
private double creditLimit;
public void add(double amount) {
if (balance + creditLimit + amount >= 0) {
// zavoláme původní "neopatrnou" metodu
super.add(amount);
} else {
System.err.println("Nelze odebrat částku " + (-amount));
}
}
// public void writeInfo() ... zdědí se
// public void transferTo(Account to, double amount) ... zdědí se
// ... předpokládejme, že v třídě "Ucet" používáme variantu:
// add(-amount);
// to.add(amount);
// }
}
Vzorový zdroják sám o sobě nepůjde přeložit, protože nemáme třídu, na níž závisí.