homeduke Prof. Dr. Uwe Schmidt FH Wedel

Die Datei: Number.java


weiter
   1/**
   2 * eine Klasse fuer Zahlen als Atome
   3 * 
   4 * dies ist eine sehr einfache Implementierung
   5 * von Zahlen, hier gehoeren natuerlich
   6 * noch alle moeglichen arithmetischen Operationen dazu
   7 * ausserdem werden nur ganze Zahlen realisiert
   8 *
   9 * in einer vollstaendigen Implementierung wuerde man
  10 * Number zu einer abstrakten Klasse machen und verschiedene
  11 * Implementierungen fuer ganze Zahlen, reele Zahlen und vielleicht
  12 * BigNums als Subklassen zur Verfuegung stellen
  13 *
  14 */
  15
  16//--------------------
  17
  18class Number extends Atom {
  19
  20  //--------------------
  21
  22  protected final
  23  long value;
  24
  25  //--------------------
  26
  27  public
  28  Number(long value) {
  29    this.value = value;
  30  }
  31
  32  //--------------------
  33
  34  public
  35  SExpr isEqual(SExpr e2) {
  36    if ( this == e2 )
  37      return
  38        t;
  39
  40    if ( ! ( e2 instanceof Number ) )
  41      return
  42        nil;
  43
  44    if ( value == ((Number)e2).value ) 
  45      return
  46        t;
  47
  48    return
  49      nil;
  50  }
  51
  52  //--------------------
  53
  54  public
  55  String toString() {
  56    return
  57      Long.toString(value);
  58  }
  59}
  60

Die Quelle: Number.java


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