Příklad

Cíl: vylepšit třídu Ucet

Postup:

  1. Zdokonalíme náš příklad s účtem tak, aby si účet "hlídal", kolik se z něj převádí peněz

  2. Zdokonalenou verzi třídy Account nazveme CreditAccount

Příklad 1. Příklad kompletního zdrojového kódu třídy

ke stažení zde

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í.