homeSoftwaredesign Softwaredesign: Beispiel: Prototyp Prof. Dr. Uwe Schmidt FH Wedel

Beispiel: Prototyp

weiter

weiter

die Klasse: Figur

import java.awt.Color;
 
interface Figur {
    Figur klonen();
 
    void skalieren(int c);
    void skalieren(int cxint cy);
    void verschieben(int dxint dy);
 
    void setzeRandFarbe(Color f);
    void setzeFuellFarbe(Color f);
}
 
weiter

weiter

die Klasse: Rechteck

import java.awt.Color;
 
public
class Rechteck implements Figur {
  int x = 0;
  int y = 0;
  int b = 1;
  int h = 1;
 
  int randBreite = 1;
 
  Color fuellFarbe = Color.white;
  Color randFarbe  = Color.black;
 
  Rechteck() {}
 
  public
  Figur klonen() {
    Rechteck res = new Rechteck();
 
    res.x = xres.y = yres.b = bres.h = h;
 
    res.randBreite = randBreite;
 
    res.fuellFarbe = fuellFarbe;
    res.randFarbe  = randFarbe;
 
    return res;
  }
 
  public
  void skalieren(int c) {
    skalieren(c,c);
  }
 
  public
  void skalieren(int cxint cy) {
    b *= cxh *= cy;
  }
 
  public
  void verschieben(int dxint dy) {
    x += dxy += dy;
  }
 
  public
  void setzeRandFarbe(Color f) {
    randFarbe = f;
  }
 
  public
  void setzeFuellFarbe(Color f) {
    fuellFarbe = f;
  }
}
weiter

weiter

die Klasse: Kreis

import java.awt.Color;
 
public
class Kreis implements Figur {
  int x = 0;
  int y = 0;
  int r = 1;
 
  int randBreite = 1;
 
  Color fuellFarbe = Color.white;
  Color randFarbe  = Color.black;
 
  // nicht public
  Kreis() {}
 
  public
  Figur klonen() {
    Kreis res = new Kreis();
 
    res.x = xres.y = yres.r = r;
 
    res.randBreite = randBreite;
 
    res.fuellFarbe = fuellFarbe;
    res.randFarbe  = randFarbe;
 
    return res;
  }
 
  public
  void skalieren(int c) {
    r *= c;
  }
 
  public
  void skalieren(int cxint cy) {
    if (cx != cy)
      throw
        new UnsupportedOperationException("...");
    skalieren(cx);
  }
 
  public
  void verschieben(int dxint dy) {
    x += dxy += dy;
  }
 
  public
  void setzeRandFarbe(Color f) {
    randFarbe = f;
  }
 
  public
  void setzeFuellFarbe(Color f) {
    fuellFarbe = f;
  }
}
weiter

weiter

die Klasse: Klient

class Kient {
 
    Figur einheitsRechteck = new Rechteck();
    Figur einheitsKreis    = new Kreis();
 
  void machIt() {
    Figur r = einheitsRechteck.klonen();
    Figur k = einheitsKreis.klonen();
 
    r.skalieren(200,400);
    r.verschieben(100,150);
 
    k.skalieren(300);
    k.verschieben(150,150);
  }
}
weiter

Letzte Änderung: 14.12.2016
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel