Przesłanianie metod

Przesłonięcie metody to implementacja na nowo metody, którą odziedziczyliśmy z klasy nadrzędnej. Mechanizm ten daje nam możliwość dostosowania implementacji metod do specyfiki podklasy.

Jak wiemy każda klasa dziedziczy z klasy Object metodę toString(). Metoda ta ma za zadanie zwrócić tekstowy opis obiektu. Standardowa implementacja metody zwraca jako opis obiektu nazwę klasy oraz nic nie mówiący kod będący wynikiem funkcji skrótu. Jednym słowem – opis ten jest słaby i należałoby go zmienić. Zmienić ten opis możemy naturalnie poprzez przesłonięcie w naszej klasie metody toString(). W klasie Book opisującej książkę metoda ta mogłaby mieć następującą implementację:

class Book extends Product {
  public String toString() {
    return "Książka '" + getTitle() + "', ISBN: " + getISBN();
  }
  
  // metody getTitle(), getISBN() i inne potrzebne w klasie Book
}