Hallo,
bitte nicht über die (un)sinnigkeit des Codes wundern, habe versucht mein Problem soweit es geht zu reduzieren als Beispiel.
Die vererbte Klasse unterscheidet sich in einigen Membervariablen und zugehörigen getter+setter.
In einer Modellklasse erzeuge ich mehrere Objekte. Da ich jeden Typ getrennt brauche, sammel ich sie in zwei verschiedenen ArrayListen.
Wenn ich diese beiden ArrayListen nun ausgeben will, weiß ich aber nicht wie ich die Vererbung nutzen kann. Da printList(...) so wie in meinem Beispiel geschrieben ja verschiedene Datentypen erwartet.
Geht das nicht anders, oder kann man das doch noch so umschreiben, dass die Vererbung auch was vereinfacht?
Danke
bitte nicht über die (un)sinnigkeit des Codes wundern, habe versucht mein Problem soweit es geht zu reduzieren als Beispiel.
Die vererbte Klasse unterscheidet sich in einigen Membervariablen und zugehörigen getter+setter.
In einer Modellklasse erzeuge ich mehrere Objekte. Da ich jeden Typ getrennt brauche, sammel ich sie in zwei verschiedenen ArrayListen.
Wenn ich diese beiden ArrayListen nun ausgeben will, weiß ich aber nicht wie ich die Vererbung nutzen kann. Da printList(...) so wie in meinem Beispiel geschrieben ja verschiedene Datentypen erwartet.
Geht das nicht anders, oder kann man das doch noch so umschreiben, dass die Vererbung auch was vereinfacht?
Code:
public class NoteClass {
private int a;
public NoteClass(int a) {
this.a = a;
}
public int getA() {
return a;
}
static void printList(ArrayList<NoteClass> myList) {
int sizeOfList = myList.size();
for (int i = 0; i < sizeOfList; i++) {
Note tmp = myList.get(i)
System.out.println(tmp.getA());
}
}
}
Code:
public class TaskClass extends NoteClass {
private String b;
public TaskClass(int a, String b) {
super(a);
this.b = b;
}
public String getB() {
return b;
}
static void printList(ArrayList<TaskClass> myList) {
int sizeOfList = myList.size();
for (int i = 0; i < sizeOfList; i++) {
Task tmp = myList.get(i)
System.out.println(tmp.getA() + tmp.getB());
}
}
}
Code:
public class MyModel {
public MyModel() {
ArrayList<NoteClass> myNoteList = new ArrayList<NoteClass>();
ArrayList<TaskClass> myTaskList = new ArrayList<TaskClass>();
NoteClass myNote = new NoteClass (1);
TaskClass myTask = new TaskClass (2, "hallo");
myNoteList.add(myNote);
myTaskList.add(myTask);
NoteClass.printList(myNoteList);
TaskClass.printList(myTaskList);
}
}
Danke
Zuletzt bearbeitet: