Tilbage til slide -- Tastaturgenvej: 'u'  Lektion X - slide 20 : 22
Program 7

class Bygning {

  public double areal(){
    return 50.0;
  }

  public int ibrugTagningsAar(){
    return 2000;
 }

  public double vurderingsSum (){
    return 200000.0;
  }
} // end Bygning


class Køretøj {

  public int købsÅr(){
    return 1997;
  }

  public int maxHastighed(){
    return 190;
  }
 
  public int nyPris() {
    return 800000;
  }
} // end Køretøj


interface SkatteMål {
  double skatteVærdi ();
} // end SkatteMål


class SkatteBygning extends Bygning implements SkatteMål {

  public double skatteVærdi() {
    return vurderingsSum() * 0.95;
  }
}  // end SkatteBygning

  
class SkatteKøretøj extends Køretøj implements SkatteMål{

  private static final int IÅR = 2000;

  public double skatteVærdi() {
    return nyPris() / (IÅR - købsÅr() + 1);
  }
} // end SkatteKøretøj


class Flex {
  static Bygning b = new SkatteBygning();
  static Køretøj k = new SkatteKøretøj();
  static SkatteMål s;

  public static void main (String[] args){

    System.out.println(((SkatteMål)b).skatteVærdi());
    System.out.println(((SkatteMål)k).skatteVærdi());

    boolean cond = true;

    s = cond ? (SkatteMål)b : (SkatteMål)k;
    System.out.println(s.skatteVærdi());
  }
}  // end Flex