/** Kvadrat-klassen */ public class Kvadrat { private int lengde; public Kvadrat(int lengde) { this.lengde = lengde; } protected int lengde() { return lengde; } public int areal() { return lengde * lengde; } public int omkrets() { return 4 * lengde; } @Override public String toString() { return getClass().getSimpleName() + " med lengde " + lengde; } } /** Rektangel-klassen */ public class Rektangel extends Kvadrat { private int bredde; public Rektangel(int lengde, int bredde) { super(lengde); this.bredde = bredde; } @Override public int areal() { return lengde() * bredde; } @Override public int omkrets() { return 2 * (lengde() + bredde); } @Override public String toString() { return super.toString() + " og bredde " + bredde; } } /** Hovedprogrammet */ public class Hoved { public static void main(String[] args) { Kvadrat kvadrat = new Kvadrat(2); Rektangel rektangel = new Rektangel(2, 3); System.out.println(kvadrat); System.out.println(rektangel); System.out.println("\nAreal kvadrat: " + kvadrat.areal()); System.out.println("Omkrets kvadrat: " + kvadrat.omkrets()); System.out.println("\nAreal rektangel: " + rektangel.areal()); System.out.println("Omkrets rektangel: " + rektangel.omkrets()); Kvadrat konvertert = rektangel; System.out.println("\nAreal konvertert: " + konvertert.areal()); System.out.println("Omkrets konvertert: " + konvertert.omkrets()); } }