27  Delegacje

  1. Wykonaj poniższe czynności:
  1. Stwórz interfejs Printer z metodą drukuj(String tekst).
  2. Utwórz klasę StandardowyPrinter, która implementuje Printer i wypisuje tekst na konsolę.
  3. Utwórz klasę Biuro, która posiada prywatne pole typu Printer. W konstruktorze Biuro przyjmij Printer jako argument i przypisz go do pola. Dodaj metodę drukujDokument(String tekst), która będzie delegować zadanie drukowania do obiektu klasy Printer.
  1. Wykonaj poniższe czynności:
  1. Stwórz interfejs Silnik z metodami uruchom() i zatrzymaj().
  2. Utwórz klasę BenzynowySilnik, która implementuje Silnik i symuluje działanie silnika na benzynę.
  3. Utwórz klasę Samochód, która posiada prywatne pole typu Silnik. W konstruktorze przyjmij Silnik jako argument. Dodaj metody start() i stop(), które będą delegować odpowiednio zadanie uruchomienia i zatrzymania silnika do obiektu klasy Silnik.
  1. Wykonaj poniższe czynności:
  1. Stwórz interfejs Powiadomienie z metodą wyślij(String wiadomość).
  2. Utwórz klasę Email, która implementuje Powiadomienie i symuluje wysyłanie wiadomości e-mail.
  3. Utwórz klasę Użytkownik, która posiada prywatne pole typu Powiadomienie. W konstruktorze przyjmij Powiadomienie jako argument. Dodaj metodę powiadomOModernizacji(String informacja), która będzie delegować zadanie wysyłania powiadomienia do obiektu klasy Powiadomienie.