Interface implementieren

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo, eine Frage hätte ich noch

ich habe ein Interface (unten) und eine (bzw. in weiterer folge mehrere) Klassen, in denen ich das Interface implementieren möchte (public class DatenSpeicher implements Observer ...), nur leider überschreibe ich die Methode vom Interface nicht sondern binde diese in eine Methode ein. Im Handbuch für Java sind das Interface und die Klassen (in meinem Fall das Interface Observer und die Klasse DatenSpeicher in einer Datei aber bei mir sind eben das Interface und die Klassen in verschiedenen Packages)
Wie kann ich es machen, das ich keine Fehlermeldung (DateiSpeicher does not override methode update) bekomme.

Vielen DANK

lg Michl

Code:
import net.jank.ppos.datastore.DatenSpeicher;

public interface Observer 
    {
    public void update(DatenSpeicher datenSpeicher);
    }


in der Klasse DatenSpeicher:

public void fireUpdate()
	{
	for (int i = 0; i < observerCnt; i++)
	    {
	    observers[i].update(this);
	    }
	}
 
DateiSpeicher does not override methode update
Das heißt das du das Interface implementierst aber die Methode nicht überschrieben hast.
 
es macht keinen sinn, dass DatenSpeicher den Observer implementiert. der observer, soll über änderungen am datenmodel -- offensichtlich dein DatenSpeicher -- informiert werden - den rest kannst dir ja dann zusammenreimen 🙂

PS: "..observerCnt.." "..observers.." nimm doch lieber da ne List für
 
ja und wie geht dann das, Ich habe das Interface in einem eigenen Package, die Klasse DatenSpeicher in einem eigenen Package (das ist mein Subject) und der Beobachter ist wieder in einem eigenen Package.

Brauch ich das Interface jetzt überhaupt nicht? oder muss ich stattdessen was anderes dazuprogrammieren?

lg und vielen Dank
 
ob du das interface brauchst weiß ich nicht, aber bei DatenSpeicher ist es vermutlich in der falschen stelle implementiert.
wenn du einen observer verwendest, musst du auch wissn, wo du einen brauchst, ansonsten kannst du das interface wieder löschen wenn du keinen brauchst :roll:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben