tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
493
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lernen.2007 lernen.2007 ist offline Mitglied Platin
    Registriert seit
    Mar 2005
    Beiträge
    743
    Hallo,

    zwei Klassen Class1 UND Class2 die die gleiche Interface implementieren:

    Class1 implements interface
    Class2 implements interface

    geht es dann auch so was: Class1 class1 = new Class1();
    Class2 class2 = new Class2();
    class1 = class2 oder class2 = class1 ist es richtig?

    Danke
     

  2. #2
    Avatar von RealHAZZARD
    RealHAZZARD RealHAZZARD ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    388
    Wenn du ein Objekt einem anderen zuweisen möchtest, müssen beide Objekte vom selben typ sein. Ausser du parst die das Objekt. Aber so allgemein wie du die Frage stellst, würde ich sagen, dass du das mit dem parsen eher lässt. Denn dann müssen die Klassen auch passen.
     
    Ich hab keine Ahnung.
    Aber davon jede Menge.

  3. #3
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Zitat Zitat von erkan erpolat
    Hallo,

    zwei Klassen Class1 UND Class2 die die gleiche Interface implementieren:

    Class1 implements interface
    Class2 implements interface

    geht es dann auch so was: Class1 class1 = new Class1();
    Class2 class2 = new Class2();
    class1 = class2 oder class2 = class1 ist es richtig?

    Danke
    Das ist falsch. Ein Objekt der Klasse Class1 ist doch nicht gleich ein Objekt der Klasse Class2, nur weil sie (mindestens) ein gleiches Interface implementieren.

    Aber wenn Du eine Methode hast
    Code :
    1
    
    public void kungFoo(MyInterface myInterface){ // mach was}
    dann kannst Du sie aufrufen mit
    Code :
    1
    2
    
    kungFoo(class1);
    kungFoo(class2);
     

  4. #4
    lernen.2007 lernen.2007 ist offline Mitglied Platin
    Registriert seit
    Mar 2005
    Beiträge
    743
    Zitat Zitat von Snape
    Das ist falsch. Ein Objekt der Klasse Class1 ist doch nicht gleich ein Objekt der Klasse Class2, nur weil sie (mindestens) ein gleiches Interface implementieren.

    Aber wenn Du eine Methode hast
    Code :
    1
    
    public void kungFoo(MyInterface myInterface){ // mach was}
    dann kannst Du sie aufrufen mit
    Code :
    1
    2
    
    kungFoo(class1);
    kungFoo(class2);
    Warum geht es dann so?Ist es doch gleiche oder?

    Danke
     

  5. #5
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Nein, eben nicht. Die Methode kungFoo erwartet als Übergabeparameter ein Objekt vom Typ MyInterface. Da sowohl class1 als auch class2 diese Bedingung erfüllen durch implements MyInterface, können beide übergeben werden. Das heisst aber eben nicht, dass beide Objekte gleich sind. Objekte unterschiedlicher Klassen sind nun einmal auch unterschiedlich, auch wenn sie eine (oder mehrere) Gemeinsamkeit(en) haben sollten.

    Vielleicht wird es so klarer:

    Klasse Handy implements Uhrzeit
    Klasse Armbanduhr implements Uhrzeit

    Entspricht dann ein Objekt der Klasse Handy einem Objekt der Klasse Armbanduhr? Wohl kaum.
     

  6. #6
    lernen.2007 lernen.2007 ist offline Mitglied Platin
    Registriert seit
    Mar 2005
    Beiträge
    743
    Okay danke für deine Mühe.

    Ich habe es verstanden.
     

  7. #7
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Prima. *Kerbe in den Monitor ritz*
    Jetzt noch bitte das Thema auf "erledigt" setzen, erkan.
     

  8. #8
    Registriert seit
    Feb 2004
    Beiträge
    592
    Hi,

    noch ein Anhang

    Code :
    1
    2
    
    MyInterface interf = class1;
    interf = class2;

    Gruß

    Romsl
     

Ähnliche Themen

  1. Interfaces in anderen Interfaces implementieren
    Von mueslirocker im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 0
    Letzter Beitrag: 12.09.10, 18:12
  2. interfaces
    Von jiim im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 3
    Letzter Beitrag: 27.07.07, 08:06
  3. Interfaces
    Von brunso im Forum Java
    Antworten: 6
    Letzter Beitrag: 28.06.07, 09:56
  4. C++ und Interfaces
    Von Jens Hibbeler im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 11.10.05, 10:11
  5. Ínterfaces
    Von Swishagent im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 05.07.01, 12:06