Hierarchia Person, Employee i Manager

Dziedziczenie i polimorfizm - Podstawy Javy (Java)

Hierarchia dziedziczenia: Klasa Person jest klasą bazową i definiuje ogólne właściwości, takie jak name. Klasa Employee dziedziczy po Person i dodaje specyficzne właściwości, takie jak position. Klasa Manager dziedziczy po Employee i rozszerza ją o dodatkową funkcjonalność, np. zarządzanie działem. Wywoływanie metod z różnych poziomów: Obiekt klasy Manager może wywoływać metody zdefiniowane w Person, Employee oraz własne.

// Klasa bazowa
class Person {
  private String name;

  // Konstruktor klasy bazowej
  public Person(String name) {
    this.name = name;
  }

  // Metoda klasy bazowej
  public void introduce() {
    System.out.println("Cześć, mam na imię " + name + ".");
  }
}

// Klasa pośrednia
class Employee extends Person {
  private String position;

  // Konstruktor klasy pośredniej
  public Employee(String name, String position) {
    super(name); // Wywołanie konstruktora klasy bazowej
    this.position = position;
  }

  // Metoda klasy pośredniej
  public void work() {
    System.out.println("Pracuję jako " + position + ".");
  }
}

// Klasa pochodna
class Manager extends Employee {
  private String department;

  // Konstruktor klasy pochodnej
  public Manager(String name, String position, String department) {
    super(name, position); // Wywołanie konstruktora klasy pośredniej
    this.department = department;
  }

  // Metoda klasy pochodnej
  public void manage() {
    System.out.println("Zarządzam działem: " + department + ".");
  }
}

// Klasa główna
public class Main {
  public static void main(String[] args) {
    // Tworzenie obiektu klasy Manager
    Manager manager = new Manager("Anna", "Dyrektor", "IT");

    // Wywoływanie metod z różnych poziomów hierarchii
    manager.introduce(); // Metoda klasy bazowej
    manager.work();      // Metoda klasy pośredniej
    manager.manage();    // Metoda klasy pochodnej
  }
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.