Hallo,
Wieder mal eine kurze - vermutlich doofe - Frage von mir.
Kann ich auf die Methoden eines noch nicht implementierten Interfaces zugreifen und wenn ja: wie?
Meine Agenten sollen eine optionale Schnittstelle für Algorithmen bieten, die quasi die Aufgabe der AI übernehmen. Hierbei ist mir nicht bekannt, was für Frameworks oder Algorithmen zum Einsatzkommen (wahrscheinlich sind evolutionäre Algorithmen - also Optimierungsverfahren). Somit kenne ich natürlich auch die Abhängigkeiten dieser Frameworks nicht, was Vererbung angeht.
Daher ist mein erster Ansatz eine Schnittstelle auf Interfacebasis zu bieten, da man von dieser ja beliebig viele implementieren kann, aber "nur" eine Oberklasse haben kann.
Ziel des Ganzen ist, dass alle, die in irgendeiner Form einen Algorithmus da rein basteln, auf alle Fälle die wesentlichen Methoden implementieren, die die eigentliche Simulation benötigt.
Ein vereinfachtes Beispiel:
Die Methode Agent.action() werde vom Scheduler der Simulationsumgebung aufgerufen und solle vom Nutzer implementiert werden. Ihr Inhalt: Die Handlungen des jeweiligen Agent - die kann ich schlecht vorwegnehmen, da ich natürlich nicht weiß, was anderen so alles einfällt.
Demnach wäre mein erster Ansatz gewesen:
Jetzt möchte ich natürlich in meinen Klassen irgendwie diese Methode aufrufen. Also z.B. (was offensichtlich nicht geht):
Ich habe zuvor leider nie mit Interfaces gearbeitet, da Vererbungen völlig ausgereicht haben und als vor drei Jahren Interfaces behandelt wurden, habe ich schlicht und ergreifend nicht zugehört -.-
Kann mir da einer kurz weiterhelfen?
Wieder mal eine kurze - vermutlich doofe - Frage von mir.
Kann ich auf die Methoden eines noch nicht implementierten Interfaces zugreifen und wenn ja: wie?
Meine Agenten sollen eine optionale Schnittstelle für Algorithmen bieten, die quasi die Aufgabe der AI übernehmen. Hierbei ist mir nicht bekannt, was für Frameworks oder Algorithmen zum Einsatzkommen (wahrscheinlich sind evolutionäre Algorithmen - also Optimierungsverfahren). Somit kenne ich natürlich auch die Abhängigkeiten dieser Frameworks nicht, was Vererbung angeht.
Daher ist mein erster Ansatz eine Schnittstelle auf Interfacebasis zu bieten, da man von dieser ja beliebig viele implementieren kann, aber "nur" eine Oberklasse haben kann.
Ziel des Ganzen ist, dass alle, die in irgendeiner Form einen Algorithmus da rein basteln, auf alle Fälle die wesentlichen Methoden implementieren, die die eigentliche Simulation benötigt.
Ein vereinfachtes Beispiel:
Die Methode Agent.action() werde vom Scheduler der Simulationsumgebung aufgerufen und solle vom Nutzer implementiert werden. Ihr Inhalt: Die Handlungen des jeweiligen Agent - die kann ich schlecht vorwegnehmen, da ich natürlich nicht weiß, was anderen so alles einfällt.
Demnach wäre mein erster Ansatz gewesen:
Java:
public interface InterfaceDings{
public void action();
}
Jetzt möchte ich natürlich in meinen Klassen irgendwie diese Methode aufrufen. Also z.B. (was offensichtlich nicht geht):
Java:
public void automatedActionCall(){
InterfaceDings.action();
}
Ich habe zuvor leider nie mit Interfaces gearbeitet, da Vererbungen völlig ausgereicht haben und als vor drei Jahren Interfaces behandelt wurden, habe ich schlicht und ergreifend nicht zugehört -.-
Kann mir da einer kurz weiterhelfen?