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
|