Ich habe ein Projekt mit einer Klasse Mitarbeiter (mit setters und getters) und 2 unterKlassen (Angestellter+Arbeiter) auch mit ihren eigenen setters+getters.
// beide unterKlassen haben einen "toString" override damit diese bei einer Ausgabe, die einzelnen variablen ausgeben und die variablen der Super-Klasse "Mitarbeiter".
In der Main habe ich 12 objekte erstellt. 6 Angestellte, 6 Arbeiter und sie einem einfachen!!!! Array zugeordnet. [12].
Frage1: Ich kann in der main keine methoden der subsclassen aufrufen.
Also ein Arbeiter1.setStundenlohn(5); oder Arbeiter2.getStundenlohn(); werden mir nicht angezeigt/erlaubt/ermöglicht.
Wieso nicht?
Frage2: ich muss das Programm ausbauen und sie abstract machen.
Es ist verlangt:
Ändern Sie die Klasse Mitarbeiter als abstrakte Klasse!
Dort soll eine Abstrakte Methode namens „berechneBrutto()“ deklariert werden:
d.h. abstract double berechneBrutto(); //liefert brutto als double zurück!
Ändern Sie die Klassen Angestellter und Arbeiter:
Hierbei soll berechneBrutto() implementiert werden.
void berechneBrutto()
Das ist für mich verwirrend. Ich dachte abstrakte methoden müssen vom Typ her immer gleich sein.
So wie ich das verstehe will man hier eine abstract double berechneBrutto(); in der Klasse Mitarbetier haben aber eine void berechneBrutto() in den Klassen Arbeiter und Angestellter. Oder wie seht ihr das? Dachte methoden müssen immer den selben typ beibehalten. Also ich kann nicht eine public int methode1() haben und dann eine public double methode1() daraus machen.
Hier vielleicht damit ihr euch das besser vorstellen könnt die zwei Klassen Mitarbeiter und Arbeiter.
***********************************************************************************************************************************************************
*************************************************************************************************************************************************************
// beide unterKlassen haben einen "toString" override damit diese bei einer Ausgabe, die einzelnen variablen ausgeben und die variablen der Super-Klasse "Mitarbeiter".
In der Main habe ich 12 objekte erstellt. 6 Angestellte, 6 Arbeiter und sie einem einfachen!!!! Array zugeordnet. [12].
Frage1: Ich kann in der main keine methoden der subsclassen aufrufen.
Also ein Arbeiter1.setStundenlohn(5); oder Arbeiter2.getStundenlohn(); werden mir nicht angezeigt/erlaubt/ermöglicht.
Wieso nicht?
Frage2: ich muss das Programm ausbauen und sie abstract machen.
Es ist verlangt:
Ändern Sie die Klasse Mitarbeiter als abstrakte Klasse!
Dort soll eine Abstrakte Methode namens „berechneBrutto()“ deklariert werden:
d.h. abstract double berechneBrutto(); //liefert brutto als double zurück!
Ändern Sie die Klassen Angestellter und Arbeiter:
Hierbei soll berechneBrutto() implementiert werden.
void berechneBrutto()
Das ist für mich verwirrend. Ich dachte abstrakte methoden müssen vom Typ her immer gleich sein.
So wie ich das verstehe will man hier eine abstract double berechneBrutto(); in der Klasse Mitarbetier haben aber eine void berechneBrutto() in den Klassen Arbeiter und Angestellter. Oder wie seht ihr das? Dachte methoden müssen immer den selben typ beibehalten. Also ich kann nicht eine public int methode1() haben und dann eine public double methode1() daraus machen.
Hier vielleicht damit ihr euch das besser vorstellen könnt die zwei Klassen Mitarbeiter und Arbeiter.
***********************************************************************************************************************************************************
*************************************************************************************************************************************************************