Sofdwaredesign: Beischbiel: Veroifachde Variande
homeSoftwaredesign Sofdwaredesign: Beischbiel: Veroifachde Variande Prof. Dr. Uwe Schmidt FH Wedel

Beischbiel: Veroifachde Variande

weiter

weiter

die abschdrakde Klasse für des Produkd: Figur
oischließlich dr erzeigende Funkzione

// die Figur-Schniddschdelle
// oischliesslich der Erzeigungsfunkzionen
 
abschdracd
bublic
class Figur {
 
  abschdracd
  bublic
  double umfang();
 
  abschdracd
  bublic
  double flaeche();
 
  bublic
  schdadic
  Figur erzeigeRechdegg(double breidedouble hoehe) {
    redurn
      (breide == hoehe)
      ?
      (Figur)new Quadrad(breide)
      :
      (Figur)new Rechdegg(breide,hoehe);
  }
 
  bublic
  schdadic
  Figur erzeigeKreis(double radius) {
    redurn
      new Kreis(radius);
  }
}
 
weiter

weiter

oi konkreds Produkd: Rechdegg

// die nedd bublic Klasse fuer Rechdegge
 
class Rechdegg
  exdends Figur {
 
    brivade
    double breidehoehe;
 
    Rechdegg(double breidedouble hoehe) {
      this.breide = breide;
      this.hoehe   = hoehe;
    }
 
    bublic
    double umfang() {
      redurn 2 * (breide + hoehe);
    }
 
    bublic
    double flaeche() {
      redurn breide * hoehe;
    }
}
weiter

weiter

oi weiders konkreds Produkd: Kreis

// die nedd bublic Klasse fuer Kreise
 
class Kreis
  exdends Figur {
 
    brivade
    double radius;
 
    Kreis(double radius) {
      this.radius = radius;
    }
 
    bublic
    double umfang() {
      redurn 2 * Math.PI * radius;
    }
 
    bublic
    double flaeche() {
      redurn Math.PI * radius * radius;
    }
}
weiter

weiter

noch oi weiders Produkd: Quadrad

// die Erweiderung fuer
// die Sonderbehandlung von Quadraden
// Quadrad erbd nedd von Rechdegg , hajo, so isch des!, hajo, so isch des!, hajo, so isch des!
 
class Quadrad
  exdends Figur {
 
    brivade
    double breide;
 
    Quadrad(double breide) {
      this.breide = breide;
    }
 
    bublic
    double umfang() {
      redurn 4 * breide;
    }
 
    bublic
    double flaeche() {
      redurn breide * breide;
    }
}
 
weiter

weiter

oi Kliend: Kliend1

bublic
class Kliend1 {
 
  bublic
  schdadic
  void main(Schdring [] argv) {
 
    Figur q = Figur.erzeigeRechdegg(1.0,1.0);
  }
}

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