Java Reference
In-Depth Information
public CSVLeserAdapter (String file)
{
this.file = file;
}
public Vector<Person> lesePersonen()
{
CSVLeser leser = new CSVLeser();
Vector<String []> gelesenePersonen =
leser.lesePersonenDatei (file);
Vector<Person> personenVector = new Vector<Person>();
for (String [] person : gelesenePersonen)
personenVector.add (new Person (person [0], person [1]));
return personenVector;
}
}
Die Klasse TestAdapter stellt in diesem Beispiel den Client dar. Sie liest eine CSV-
Datei mit Personendaten über den Adapter ein und gibt anschließend die eingelese-
nen Personen am Bildschirm aus. Im Folgenden die Klasse TestAdapter :
// Datei: TestAdapter.java
import java.util.Vector;
public class TestAdapter
{
public static void main (String[] args)
{
IPersonenLeser leser = new CSVLeserAdapter ("Personen.csv");
Vector<Person> personen = leser.lesePersonen();
for (Person person : personen)
person.print();
}
}
Für den Test des Adapters dient die Datei Personen.csv (auf dem begleitenden
Webauftritt verfügbar). Sie enthält die Personen-Datensätze durch Kommata getrennt.
Hier das Protokoll des Programmablaufs:
Heinz Mueller
Volker Schmied
Hannah Schneider
4.3.4 Bewertung
Der Klassen-Adapter basiert auf Vererbung. Er kann somit nur diejenigen Klasse
adaptieren, von der er abgeleitet ist. Ein Objekt-Adapter kann auf Grund des liskov-
schen Substitutionsprinzips auch Unterklassen anpassen, da er eine Referenz auf ein
Search WWH ::




Custom Search