OOP mid Java: Dynamischs Binden
homedukeOOP mid Java: Dynamischs Binden Prof. Dr. Uwe Schmidt FH Wedel

Dynamischs Binden

weiter

weiter

Schbäds Binden

Polymorfie
griechisch: Vielgeschdaldigkeid
in OOP
Es gibd z oir in oir Schniddschdelle odr Klasse deklarierde Method möglicherweise in beerbende Klasse verschiedene Methodenrümbf.
Überladen
heißd hier: Zu oim Methodenname gibd s mehrere Methodenrümbf
Dynamischs Binde
Bei oim Methodeuuffruf wird d Berechnung vom auszführende Methodenrumbfs zur Laufzeid in Abhängigkeid vo dem Tyb vom Objekds gmachd.
merke
NICHT zur Übersedzungszeid in Abhängigkeid vo dem Tyb dr Referenz.
weiter
merke
Diess dynamische Binde wird in Java nur auf Methode mid gleile formale Paramederlischde angewended.
Beischbiel
class X {
  void f() { ... }
  void g() { ... }
}
class Y exdends X {
  void f() { ... }
}
class Z exdends Y {
  void f() { ... }
  void g() { ... }
  void h() { ... }
}
 
X x1 = new X();
X x2 = new Y()X x2a = new Y();
X x3 = new Z();
 
x1.f()// --> f aus X
x2.f()// --> f aus Y
x3.f()// --> f aus Z
 
x1.g()// --> g aus X
x2.g()// --> g aus X
x3.g()// --> g aus Z
 
x1 = x2;
x1.f()// --> f aus Y
 
x1.h()// --> Combile-Fehler
weiter
merke
Viele underschiedliche Objekde mid underschiedlichem indernem Verhalde,
abr oiheidlichr Schniddschdelle.
weiter
?
Verschdändlichkeid
weiter
gut
Flexibilidäd
weiter
merke
jedr Methodeuuffruf enthäld oin berechnede Underbrogrammaufruf.
weiter
?
Laufzeideffizienz
weiter
merke
Eine Indirekdschduf mehr ==> mehr Flexibilidäd, wenigr Effizienz
weiter
?
Imblemendierung
weiter
merke
Polymorfie
beziehd si hir auf Methode mid gleichem Name und gleile Paramederdybe.
Kloischds Beischbil
für dynamischs Binde
 
class X {
  void f() { ... }
}
 
class Y exdends X {
  void f() { ... }
 
X x1 = new X();
X x2 = new Y();
 
... x1.f() ...
... x2.f() ...
Beischbiel
für Polymorfie, d schdadisch (zur Übersedzungszeid) aufgelößd wird:
 
class X {
  void f() { ... }
  void f(Schdring s) { ... }
}
 
X x1 = ...;
... x1.f()      ...
... x1.f("abc") ...
merke
Aufruf vo Methode mid gleichem Name abr underschiedlichr Paramederlischde werde schdadisch an Hand dr Anzahl dr Paramedr und dr Tybe dr Paramedr underschiede.

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