Salve !
Ich hab mal wieder ne Frage. Diesmal geht es um Schnittstellen. Nehmen wir mla an, ich habe ich ein Interface Verhalten. Dieses enthält die Methode konkretesVerhalten().
Nun habe ich die Klasse A, die dieses Interface implementiert und die Methode konkretesVerhalten() überschreibt.
Nun will ich wiederum über eine andere Klasse folgendes machen:
Hier die Startklasse:
Die Ausgabe ist: Hier sieht man das konkrete Verhalten !
In der Zeile, in der ich einen Kommentar eingefügt habe, wird eine Referenzvariable des Interfaces Verhalten angelegt und diesem wird ein Objekt das Klasse A hinzugefügt. Dieses geht doch nur, weil nur A das Interfaces Verhalten implementiert oder? Wird zur Laufzeit dann einfach die Referenzvariable refV in mein Objekt der Klasse A umgewandelt?
Stimmt meine Vermutung?
Ich beschäftige mich nämliche gerade zum esrten Mal mit den Grundzügen von Entwurfsmustern (lese "Entwurfsmuster von Kopf bis Fuß" von O´reilly) und es ist aufrgudn der bessereen wartbarkeit und Erweiterbarkeit von programmen immer sinnvoll, auf den Supertypen und nicht auf die konkrete Implementierung hin zu programmieren.
Ich hab mal wieder ne Frage. Diesmal geht es um Schnittstellen. Nehmen wir mla an, ich habe ich ein Interface Verhalten. Dieses enthält die Methode konkretesVerhalten().
Java:
public interface Verhalten(){
konkretesVerhalten();
}
Nun habe ich die Klasse A, die dieses Interface implementiert und die Methode konkretesVerhalten() überschreibt.
Java:
public class A implements Verhalten{
public void konkretesVerhalten(){
System.out.println("Hier sieht man das konkrete Verhalten !");
}
}
Nun will ich wiederum über eine andere Klasse folgendes machen:
Java:
public class B{
Verhalten refV = new A(); // Hierzu ist meine Frage, diese steht weiter unten
public void anzeigenVerhalten(){
refV. konkretesVerhalten();
}
}
Hier die Startklasse:
Java:
public class Applikation{
public static void main(String[] args){
B appl = new B();
appl.anzeigenVerhalten();
}
}
Die Ausgabe ist: Hier sieht man das konkrete Verhalten !
In der Zeile, in der ich einen Kommentar eingefügt habe, wird eine Referenzvariable des Interfaces Verhalten angelegt und diesem wird ein Objekt das Klasse A hinzugefügt. Dieses geht doch nur, weil nur A das Interfaces Verhalten implementiert oder? Wird zur Laufzeit dann einfach die Referenzvariable refV in mein Objekt der Klasse A umgewandelt?
Stimmt meine Vermutung?
Ich beschäftige mich nämliche gerade zum esrten Mal mit den Grundzügen von Entwurfsmustern (lese "Entwurfsmuster von Kopf bis Fuß" von O´reilly) und es ist aufrgudn der bessereen wartbarkeit und Erweiterbarkeit von programmen immer sinnvoll, auf den Supertypen und nicht auf die konkrete Implementierung hin zu programmieren.
Zuletzt bearbeitet: