Programmieren – die besten Beiträge

Verkapselung von Klasse?

Hallo Coder-Freunde,

meine Freundin hat in einer Übung für die Uni folgende Java-Aufgabe zu lösen:

// ähnlich java.io.File.listFiles(), gibt aber nicht ein Array sondern ein Filez-Objekt zurück, das die File-Objekte des Directory als List<File> verkapselt

public static Filez create(File directory);

Folgendes haben wir bisher gemacht:

class Filez {

public Filez() {

this.list = new ArrayList<File>();

}

public static Filez create(File directory) { // File directory ist ein Objekt mit dem Pfad zum zu durchsuchenden Verzeichnis.

//List<File> list = new ArrayList<File>();

File[] filesAndDirs = directory.listFiles();

// Daten aus Array werden zu Liste hinzugefügt

for(int i = 0; i < filesAndDirs.length; i++) {

list.add(i, filesAndDirs[i]);

System.out.println(i + ": " + list.get(i));

}

return XXXXX; // Hier hängt's... wie soll eine Liste als Filez-Objekt zurückgegeben werden?

}

}

Mir persönlich erschließt sich die Formulierung "[... gibt ein] Filez-Objekt zurück, das die File-Objekte des Directory als List<File> verkapselt" nicht. Wie soll eine Methode als Returnwert ein Filez-Objekt vom Typ list zurückgeben?

Wir stehen hier auf dem Schlauch, bitte Hilfe!

UPDATE:

Antwort, falls jemand ein ähnliches Problem hat: Konstruktor erstellen!

public Filez() {} oder public Filez(List<File> attrList) { this.list = attrList; }

Return von create() ist dann das gesamte Objekt.

Computer, programmieren, Java, OOP Programmierung

Meistgelesene Beiträge zum Thema Programmieren