Zadanie klasy abstrakcyjne

0

Witam. Potrzebuję pomocy w objaśnieniu mi "teoretycznie" jak ma wyglądać to zadanie:

Moja myśl: Utworzyć interfejs Pracownik i go rozszerzać PracownikOT, Pracownik Naukowy, Dydaktyczny. Czy lepiej utworzyć klasę abstrakcyjną Pracownicy i odpowiednio jak wyżej rozszerzać dodając odpowiednie zmienne statyczne (stopien naukowy, liczba godzin itp) i nie wiem co dalej robić. Jak wypisać informacje o kazdej osobiem dodać je do tablicy itp.. Proszę o pomoc... Nie wiem co tu bedzie lepsze czy interfejs czy klasa abstract. Pozdrawiam

5

Pracownik będzie miał pola wspólne dla wszystkich pracowników typu: imię, nazwisko i jakieś tam dane zatrudnienia itp. stąd klasa abstrakcyjna to lepsze rozwiązanie niż interfejs.

Utwórz klasę Person.
Student i Employee będzie dziedziczył po Person.
Następnie konkretny pracownik będzie dziedziczył po Employee.

0

Napisałem coś takiego:

Person:

public class Person {

    String imie;
    String nazwisko;

    public Person(String imie, String nazwisko) {
        this.imie = imie;
        this.nazwisko = nazwisko;
    }

    public String getImie() {
        return imie;
    }

    public String getNazwisko() {
        return nazwisko;
    }

    @Override
    public String toString() {
        return "Person{" +
                "imie='" + imie + '\'' +
                ", nazwisko='" + nazwisko + '\'' +
                '}';
    }
}

Student:

public class Student extends Person {
    int ilosc;

    public Student(String imie, String nazwisko, int ilosc){
        super(imie,nazwisko);
        this.ilosc=ilosc;
    }
}

Employee:

abstract class Employee extends Person {

/// no właśnie i co tutaj???


}

Co mam napisać w employee??

czyżby tylko konstruktor?

 
public Employee(String imie, String nazwisko){
        super(imie,nazwisko);
    }

i dalej robić dziedziczenie pracownika obslugi itd ?

0

No wlasnie wydaje mi sie ze klasa employee nie ma zadnych pol wiec wszystko z person?

0

zawiera metodę, która dla każdego obiektu zapisanego w tablicy wypisze imię i nazwisko osoby

Na razie takiej metody nie ma.

public String getFullName(){
    return imie+" "+nazwisko;
}
  1. W klasie Employee wystarczy konstruktor.
  2. Program z klasą Employee daje więcej możliwości, ale klasa ta nie jest niezbędna, by spełnić wszystkie warunki zadania.
1

A czemu klasa Student posiada pole ilość? Student nic nie wie przecież o swojej ilości. To jest moim zdaniem źle, bo to nie ten poziom abstrakcji. O ilości studentów wiedze posiada np. uczelnia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1