Hallo,
ich habe eine Aufgabe eine einfache Klasse mit der Hilfe von dynamischen Binden zu refaktorisieren.
Ich denke mal das Ziel wird sein eine abstract class Employee mit zwei erbenden Klassen befristet und unbefristet zu gestalten.
Hier mein Code für die einzelnen Klassen:
AEmployee.java
unbefristetEmployee.java
befristetEmployee.java
und die EmployeeTest.java
Leider versteh ich nicht warum mir der Kompilier folgenden Fehler ausgibt:
[STRIKE]Ich seh einfach nicht den Fehler. Kann mir da bitte jemand helfen? [/STRIKE]
Ich Dämlack :lol: wer findet den Fehler? :idea:
Aber wichtiger noch:
War meine Annahme korrekt und muss man das so handhaben? Also die Klasse "splitten"? Gäbe es andere, bessere Methoden?
Vielen DANKE!
ich habe eine Aufgabe eine einfache Klasse mit der Hilfe von dynamischen Binden zu refaktorisieren.
Code:
public class Employee
{
String name;
String limit;
public Employee(String name, String limit)
{
this.name = name;
this.limit = limit;
}
public String isLimited()
{
if(limit==null)
return "unbefristet";
else
return limit;
}
@Override
public String toString()
{
return name+" ("+isLimited()+")";
}
public static void main (String [] args){
Employee e1 = new Employee("Peter",null);
Employee e2 = new Employee("Hans","14.03");
System.out.println(e1);
System.out.println(e2);
}
}
Ich denke mal das Ziel wird sein eine abstract class Employee mit zwei erbenden Klassen befristet und unbefristet zu gestalten.
Hier mein Code für die einzelnen Klassen:
AEmployee.java
Code:
public abstract class AEmployee{
String name;
public AEmployee(String name){
this.name = name;
}
public String toString(){
return name;
}
}
unbefristetEmployee.java
Code:
public class unbefristetEmployee extends AEmployee{
public unbefristetEmployee(String name){
super(name);
}
public String toString(){
return super.toString() + " und ist unbefristet";
}
}
befristetEmployee.java
Code:
public class befristetEmployee extends AEmployee{
String limit;
public unbefristetEmployee(String name, String limit){
super(name);
this.limit = limit;
}
public String toString(){
return super.toString() + " und hat ein Limit bis: " + limit;
}
}
und die EmployeeTest.java
Code:
public class EmployeeTest{
public static void main(String [] args){
AEmployee e1 = new unbefristetEmployee("Peter");
AEmployee e2 = new befristetEmployee("Hans","14.03");
System.out.println(e1);
System.out.println(e2);
}
}
Leider versteh ich nicht warum mir der Kompilier folgenden Fehler ausgibt:
invalid method declaration; return type required
public unbefristetEmployee(String name, String limit){
^
[STRIKE]Ich seh einfach nicht den Fehler. Kann mir da bitte jemand helfen? [/STRIKE]
Ich Dämlack :lol: wer findet den Fehler? :idea:
Aber wichtiger noch:
War meine Annahme korrekt und muss man das so handhaben? Also die Klasse "splitten"? Gäbe es andere, bessere Methoden?
Vielen DANKE!
Zuletzt bearbeitet: