Methoden Funktionspointer mit unterschiedlicher Signatur

Z

Zaaa

Gast
Hallo, ich versuche derzeit ein in c++ gegebenes Programm für java zu portieren.

Hierbei habe ich Probleme mit Funktionszeigern.

Im großen und ganzen möchte ich eine Methode mit unterschiedlicher Syntax über einen Aufruf aufrufen.
Versucht habe ich es über ein Interface bzw eien abstrakte Klasse
Java:
public abstract class FunktionsWrapper {
	public Subject parent;
	public FunktionsWrapper(Subject subject) {
		this.parent = subject;
	}
	public abstract void call();
}
Nun erstelle ich anonyme Klassen die Methode call implementieren
Java:
public class HelloSubjects extends Subject {
	public HelloSubjects(Object _object){
		_handle(this, new _Message(new FunktionsWrapper(this){

			@Override
			public void call() {
				System.out.println("Hello Subjects");
			}
		}, _object));
	}
}

Der aufruf der spezifischen Methode erfolgt dann innerhalb einer anderen Klasse die eine Referenz auf ein FunktionsWrapper Objekt enthält.
Java:
m.VerbPtr.call()
wobei der VerbPtr genau diese Referenz repräsentiert.

Nun habe ich allerdings das Problem, das ich die Methode nicht mit unterschiedlichen Signaturen versehen kann, was für mich wichtig wäre. Hat vielleicht jemand eien Idee wie ich das am besten lösen könnte?

Vielen Dank und liebe Grüße
Zaaa


Nun hat eien andere Klasse eine Referenz auf die zuvor erstellte Anonyme
 

Empire Phoenix

Top Contributor
Mac für jeden funktionszeiger ein Interface, das du dann benutzt, im interface machste alle methoden die es gibt.
Die funktionenw erden dann in objecte die dieses interface habenn implementiert.
 
Z

Zaaa

Gast
@Empire Phoenix
Vielen Dank für deinen Beitrag. Genau so versuche ich es doch.Allerrdings sehe ich nicht wie ich dann den Aufruf
Java:
m.VerbPtr.Methode(Parameter)
ebend genau für unterschiedliche Signaturen verwenden kann. Vorallem wenn eine Methode keinen Parameter und die andere einen besitzt.
Sorry vielleicht begreif ich es auch nur nicht.

Vielen Dank und Grüße
Zaaa
 

Volvagia

Top Contributor
(Wenn ich dich richtig verstanden habe.)

Du kannst ja Methoden mit unterschiedlichen Signaturen erstellen. Also

Java:
public abstract void call();
public abstract void call(int i);
public abstract void call(Object obj);
public abstract void call(JFrame frame);
public abstract void call(KeyListener keyListener);

usw.
Nur dann mache eine Adapterklasse, die von der abstrakten Klasse erbt oder dass Interface und alle abstrakten Methoden leer implementiert. Dann brauchst du nur noch die zu überschreiben die du auch tatsächlich brauchst, und nicht immer alle implementieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Funktionspointer oder ähnliches in Java? sdk 1.4 Java Basics - Anfänger-Themen 4
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
F Variablen unterschiedlicher Datentypen Java Basics - Anfänger-Themen 6
W Konvertierung und Vergleich unterschiedlicher Zeitformate Java Basics - Anfänger-Themen 11
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
D (zwei) Fenster mit unterschiedlicher Befüllung Java Basics - Anfänger-Themen 11
B Variablen Mehrere Zahlen mit unterschiedlicher Wahrscheinlichkeit mit Random auswählen Java Basics - Anfänger-Themen 17
M OOP Methode überschreiben mit String-Paramter unterschiedlicher Größe? Java Basics - Anfänger-Themen 19
M Unterklassen mit unterschiedlicher Zustandsanzahl Java Basics - Anfänger-Themen 15
M Textdatei mit unterschiedlicher Spaltenanzahl einlesen Java Basics - Anfänger-Themen 4
R Signatur einer Methode in JAVA Java Basics - Anfänger-Themen 4
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
T Signatur einer Methode Java Basics - Anfänger-Themen 10
Pentalon Signatur nicht eindeutig genug ? Java Basics - Anfänger-Themen 3
K Schlüsselworte Was bedeutet oder was ist die SIGNATUR?? Java Basics - Anfänger-Themen 4
K OOP Methoden überladen - Signatur Java Basics - Anfänger-Themen 22
M Ändert ein 'throws Exception' die Signatur einer Methode? Java Basics - Anfänger-Themen 3
S BITTE UM HILFE: Unterschied Deklaration und Signatur einer Methode Java Basics - Anfänger-Themen 3
M Signatur bei Zugriff auf Server Java Basics - Anfänger-Themen 3
M regulärer Ausdruck zum Parsen einer E-Mail Signatur Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben