Delegates

Generic1

Top Contributor
Hallo,

in C# gibt es Delegates so in der Art:

Code:
void SayHello(string sender) {
Console.WriteLine("Hello " + sender);
}
notify = new Notifier(SayHello);

Dazu hätte ich 2 Fragen:

1. Kann das auch Java und
2. handelt es sich hier um Clousures?

Besten Dank.
lg
 

Landei

Top Contributor
Äh, ich glaube nicht, das das typische Delegates sind, sondern Closures. Als Delegation bezeichnet man üblicherweise, wenn man ein Objekt kapselt und automatisch Methodenaufrufe an dieses weiterleitet - und danach sieht es hier nicht aus.

Java hat noch keine Closures - die kommen in Java 8, und auch keine Delegates.
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Sowas macht man in Java normalerweise mit anonymen, inneren Klassen:
Java:
public interface Helloable { // haha :D
    public void sayHello(String sender);
}
Java:
public class Notifier {
    public Notifier(Helloable h) {
        // ...
    }
    // ...
}
Java:
notify = new Notifier(new Helloable() {
    public void sayHello(String sender) {
        System.out.println("Hello " + sender);
    }
});
 
S

SlaterB

Gast
je nach Syntax-Menge und Betrachtungsweise kann man das auch mit Observer, Listener, Command-Pattern in Verbindung bringen,
das ist dann so allgemein, dass selbst Java mitspielt ;)
 

Oben