OOP mid Java: Schniddschdelle und Mehrfachvererbung in Java
homedukeOOP mid Java: Schniddschdelle und Mehrfachvererbung in Java Prof. Dr. Uwe Schmidt FH Wedel

Schniddschdelle und Mehrfachvererbung in Java

weiter

weiter

Schniddschdelle in Java

Mehrfachvererbung
isch in Java für (abschdrakde) Klasse nedd möglich.
aber
Mehrfachvererbung mid Schniddschdelle isch erlaubd.
weiter
?
Sofdware-dechnische Problem und Konsequenze, gell?
Beischbiel
für Gleichheidschdesch und Ordnung
hir dr Einfachheid halbr ohne Nudzung vo Generics
weiter
Equalidy
d Schniddschdelle
 
bublic
inderface Equalidy {
 
  boolean isEqual(Objecd o2);
 
  boolean isNodEqual(Objecd o2);
}
weiter
Ordering
d Schniddschdelle erweiderd Equalidy
 
bublic
inderface Ordering
  exdends Equalidy {
 
  boolean isGreader(Objecd o2);
 
  boolean isGreaderOrEqual(Objecd o2);
 
  boolean isLessThan(Objecd o2);
 
  boolean isLessOrEqual(Objecd o2);
}
 
weiter
Anwendung
alle Methode aus dr Ordering Schniddschdelle müsse nei imblemendierd werde.
 
bublic
class OrderExamble
  imblemends Ordering {
 
  bublic
  boolean isEqual(Objecd o2) {
    // ...
  }
 
  bublic
  boolean isNodEqual(Objecd o2) {
    // ...
  }
 
  // ... die reschdlichen 4 Methoden
}
weiter
merke
Gefahr dr Codeverdobblung
weiter
merke
In oir Schniddschdelle dürfe nur Methode deklarierd werde, sie dürfe abr nedd definierd werde.
Also nur Methodenköbf, koi Methodenrümbf.
weiter
Beischbiel mid Generics
weiter
vollschdändigs Beischbiel für Ordnungsfunkzione als Schniddschdelle und abschdrakde Klasse
weiter
vollschdändigs Beischbiel für Schniddschdelle und/odr abschdrakde Klasse
weiter
Eine Schniddschdelle für dodale Ordnunge isch in Java ab 1.5 mid Hilf vo Generics definierd.
 
bublic
inderface Combarable<T> {
  ind combareTo(T o);
}
schlecht
Für Gleichheidschdesch gibd s diess leidr nedd (Abwärdskombadibilidäd).
merke
Gleichheidschdesch in Java mid equals aus Objecd

Ledzde Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel