Hallo zusammen,
ich versuche schon seit Stunden, dieses eine Thema zu verstehen:
Es wird oft gesagt, dass der Datentyp von myInterface MyInterface sein soll, statt MyInterfaceImpl. Ich verstehe es nicht, warum. Oft wird diese Frage bzw. diese Thematik in Verbindung mit einer weiteren Klasse gebracht, die ebenfalls MyInterface implementiert. Angenommen, wir haben jene Klasse:
Als Vorteil wird geschildert.. wenn man für die Objekterzeugung folgendes schreibt:
statt:
,dann braucht man im Folgecode nichts mehr umzuändern, außer des Datentypen von objektInterface. Ich frage mich, wieso?
Könnte mir jemand bitte helfen?
Lieben Dank.
Schöne Grüße aus Rheinland,
Eure Ratna
ich versuche schon seit Stunden, dieses eine Thema zu verstehen:
Java:
public interface MyInterface {
public String hello = "Hello";
public void sayHello();
}
Java:
public class MyInterfaceImpl implements MyInterface {
public int echteMethode(){
return 5;
}
public void sayHello() {
System.out.println(MyInterface.hello);
}
}
Java:
MyInterface myInterface = new MyInterfaceImpl();
myInterface.sayHello();
Es wird oft gesagt, dass der Datentyp von myInterface MyInterface sein soll, statt MyInterfaceImpl. Ich verstehe es nicht, warum. Oft wird diese Frage bzw. diese Thematik in Verbindung mit einer weiteren Klasse gebracht, die ebenfalls MyInterface implementiert. Angenommen, wir haben jene Klasse:
Java:
public class MyInterfaceImplZwei implements MyInterface {
public int echteMethodeZwei(){
return 6;
}
public void sayHello() {
System.out.println(MyInterface.hello);
}
}
Als Vorteil wird geschildert.. wenn man für die Objekterzeugung folgendes schreibt:
Java:
MyInterface objektInterface = new MyInterfaceImpl();
Java:
MyInterfaceImpl objektInterface = new MyInterfaceImpl();
,dann braucht man im Folgecode nichts mehr umzuändern, außer des Datentypen von objektInterface. Ich frage mich, wieso?
Könnte mir jemand bitte helfen?
Lieben Dank.
Schöne Grüße aus Rheinland,
Eure Ratna