Java Reference
In-Depth Information
Die abstrakte Klasse MitarbeiterBesucher repräsentiert die abstrakte Besucher-
Klasse und definiert für jede konkrete Element-Klasse, welche besucht werden soll,
eine Methode besuchen() :
// Datei: MitarbeiterBesucher.java
abstract class MitarbeiterBesucher
{
public abstract void besuchen (Teamleiter t);
public abstract void besuchen (Sachbearbeiter s);
}
Die Klasse Gehaltsdrucker stellt einen konkreten Besucher dar und wird aus die-
sem Grund von der Klasse MitarbeiterBesucher abgeleitet. In den Implementie-
rungen der jeweiligen besuchen() -Methoden werden Informationen über das jeweils
gerade besuchte Objekt ausgegeben:
// Datei: Gehaltsdrucker.java
class Gehaltsdrucker extends MitarbeiterBesucher
{
public Gehaltsdrucker()
{
System.out.print ("***************************************");
System.out.println ("***************************");
System.out.println (" Gehaltsliste");
System.out.print ("Position" + "\t" + "Vorname" + "\t" + "\t" +
"Name" + "\t" + "\t");
System.out.println ("Gehalt" + "\t" + " Praemie");
System.out.print ("***************************************");
System.out.println ("***************************");
}
public void besuchen (Teamleiter t)
{
String vorname;
String name;
if (t.getVorname().length() < 8)
vorname = t.getVorname().concat ("\t");
else vorname = t.getVorname();
if (t.getName().length() < 8)
name = t.getName().concat ("\t");
else name = t.getName();
System.out.print ("Leiter " + t.getTeambezeichnung() + "\t"
+ vorname + "\t" + name + "\t");
System.out.printf ("%7.2f", t.getGrundgehalt());
System.out.printf ("%3.2f", t.getPraemie());
System.out.println();
}
public void besuchen (Sachbearbeiter s)
{
String vorname;
String name;
Search WWH ::




Custom Search