Hallo Java-Forum,
ich veruche gerade den Beispielcode meines Buches nachzuvollziehen, doch das gelingt mir nicht so ganz.
Klasse Gaukler:
Interface Zuschauer:
Klasse Marktbesucher:
Meine Fragen:
-Wieso werden in der Gauklerklasse Instanzen vom Interface Zuschauer gebildet. Aus Interfaces können doch garkeine Instanzen gebildet werden(steht im Abschnitt Interfaces im Buch)
-Wieso erwartet die Methode update(Objekt action) als Parameter nicht Zuschauer zuschauer sondern Objekt action, und wieso wird davon nirgends Gebrauch gemacht?
MfG
ich veruche gerade den Beispielcode meines Buches nachzuvollziehen, doch das gelingt mir nicht so ganz.
Klasse Gaukler:
Java:
public class Gaukler
{
private int anzahl = 5;
private Zuschauer[] zuschauer = new Zuschauer[anzahl];
private int arrayIndex = 0;
public void addObserver(Zuschauer besucher)
{
if(arrayIndex < zuschauer.length)
{
zuschauer[arrayIndex] = besucher;
arrayIndex++;
System.out.println(besucher + "wurde registriert.");
}
else
System.out.println(besucher + "wurde nicht registriert.") ;
}
public void deleteObservers()
{
{
zuschauer = new Zuschauer[5];
}
}
public void deleteObserver(Zuschauer pZuschauer)
{
for(int i = 0; i < anzahl; i++)
{
if(zuschauer[i] == pZuschauer)
{
zuschauer[i] = null;
System.out.println(pZuschauer + " hat sich deregistriert");
return;
}
}
}
public void notifyObserver()
{
for(Zuschauer temp : zuschauer)
{
if(temp != null)
temp.update(null);
}
}
}
Interface Zuschauer:
Java:
public interface Zuschauer
{
void update(Object aktion);
}
Klasse Marktbesucher:
Java:
public class Marktbesucher implements Zuschauer
{
private String name;
public Marktbesucher(String name)
{
this.name = name;
}
public void update(Object aktion)
{
int zufallszahl = (int)(Math.random() * 10);
if(zufallszahl < 5)
System.out.println(name + " sagt: \" Ahhh!\" ");
else
System.out.println(name + " sagt: \" Ohhh!\" ");
}
public String toString()
{
return name;
}
}
Meine Fragen:
-Wieso werden in der Gauklerklasse Instanzen vom Interface Zuschauer gebildet. Aus Interfaces können doch garkeine Instanzen gebildet werden(steht im Abschnitt Interfaces im Buch)
-Wieso erwartet die Methode update(Objekt action) als Parameter nicht Zuschauer zuschauer sondern Objekt action, und wieso wird davon nirgends Gebrauch gemacht?
MfG