Java Reference
In-Depth Information
if (taxis.size() > 0)
{
Taxi taxi = taxis.get (0);
taxis.remove (taxi);
return taxi;
}
// Kein Taxi frei
return null;
}
public synchronized void taxiFreigeben (Taxi taxi)
{
taxis.add (taxi);
}
}
Die Klasse TestTaxiZentrale erzeugt drei Instanzen der Klasse Passagier .
Diese Passagiere fordern nacheinander ein Taxi bei der Taxizentrale an. Da die Taxi-
zentrale im Beispiel nur zwei Taxis bereitstellt, bekommt der dritte Passagier Klaus
erst dann ein Taxi, wenn ein anderer Passagier sein Taxi wieder verlassen hat. Hier
die Klasse TestTaxiZentrale :
// Datei: TestTaxiZentrale.java
public class TestTaxiZentrale
{
public static void main (String[] args)
{
TaxiZentrale taxiZentrale = TaxiZentrale.gibZentrale();
Passagier hans = new Passagier ("Hans");
Passagier anna = new Passagier ("Anna");
Passagier klaus = new Passagier ("Klaus");
hans.taxiBetreten (taxiZentrale);
anna.taxiBetreten (taxiZentrale);
klaus.taxiBetreten (taxiZentrale);
hans.taxiVerlassen (taxiZentrale);
klaus.taxiBetreten (taxiZentrale);
anna.taxiVerlassen (taxiZentrale);
klaus.taxiVerlassen (taxiZentrale);
}
}
Search WWH ::




Custom Search