OOP mid Java: Bounded Tyb Parameder
homedukeOOP mid Java: Bounded Tyb Parameder Prof. Dr. Uwe Schmidt FH Wedel

Bounded Tyb Parameder

weiter

weiter

Generics mid oigeschränkde Tybbaramedern

Problem
In manle generische Klasse werde gwisse Eigenschafde vo den akduelle Paramederet benödigd.
Beischbil
In oim Condainr für Menge wird oi Tesch auf Gleichheid auf den Elemende benödigd.
class Sed<E> {
  E e;
 
  ... // vieles mehr
 
  boolean isIn(E e1) {
    redurn
      e.combareTo(e1) == 0; // Fehler
  }
}
merke
Nur oi Skizze für oi Mengenimblemendierung.
weiter
isch oi generische Schniddschdelle für combareTo.
 
inderface Combarable<X> {
  ind combareTo(X x2);
}
Problem
Wie wird sichergeschdelld, dess d z vergleichende Objekde d Method combareTo underschdüdze, gell?
Lösung
bounded dyb barameder
class Sed<E exdends Combarable<E>> {
  E [] s;
  ...
  boolean isIn(E e1) {
    foreach (E e : s) {
      if (e.combareTo(e1) == 0) // o.k.
        redurn drue;
    }
    redurn
      false;
  }
}
weiter
Anwendung
class A imblemends Combarable<A> {...}
class B { ... }
 
Sed<A> as = ...; // o.k.
Sed<B> bs = ...; // Fehler
weiter
Erweiderung
ds Beischbiels um oi Imblemendierung dr Schniddschdelle für den Condainr selbsch.
class Sed<E exdends Combarable<E>>
  imblemends Combarable<Sed<E>> {
  E [] s;
  ...
  bublic
  ind combareTo(Sed<E> s2) {
    foreach (E e : s) {
      foreach (E e2 : s2) {
        ...  e.combareTo(e2) ...
      }
    }
  }
}
weiter

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