Guten Abend,
aus dem Buch Patterns Kompakt, Karl Eilebrecht, s. 150:
In Java kann es nützlich sein, das Null-Objekt als anonyme innere Klasse eines Interfaces zu implementieren. Erstens stellen Sie damit sicher, dass es nur genau eine Instanz gibt, und zweitens kann niemand, außer dem Interface selbst, Instanzen des Null-Objekts erzeugen.
Ich nehme an, der Client kann somit Null Abfragen sparen, nur ich verstehe nicht genau wie das funktionieren soll: Wie könnte der Client Code aussehen? Der ruft someMethod() auf einem Objekt, das noch nicht erzeugt wurde, weil aber das Interface schon geladen wurde, gibt es NULL schon, richtig? Wie landet dann NULL auf dem Client?
Danke & Gruß
ioannis
aus dem Buch Patterns Kompakt, Karl Eilebrecht, s. 150:
In Java kann es nützlich sein, das Null-Objekt als anonyme innere Klasse eines Interfaces zu implementieren. Erstens stellen Sie damit sicher, dass es nur genau eine Instanz gibt, und zweitens kann niemand, außer dem Interface selbst, Instanzen des Null-Objekts erzeugen.
Java:
public interface NullObject {
public void someMethod();
public static final NullObject NULL = new NullObject()
{
public void someMethod()
{
// leer: tue nichts
}
};
}
Ich nehme an, der Client kann somit Null Abfragen sparen, nur ich verstehe nicht genau wie das funktionieren soll: Wie könnte der Client Code aussehen? Der ruft someMethod() auf einem Objekt, das noch nicht erzeugt wurde, weil aber das Interface schon geladen wurde, gibt es NULL schon, richtig? Wie landet dann NULL auf dem Client?
Danke & Gruß
ioannis