Bei Implementierung in einer objektorientierten Sprache wie Java
Verletzung Substitutionsprinzip
public class Quadrat {
protected int breite;
public Quadrat(int breite) {
this.breite = breite;
}
public int flaeche() {
return breite * breite;
}
}
public class Rechteck extends Quadrat {
private int laenge;
public Rechteck(int breite, int laenge) {
super(breite);
this.laenge = laenge;
}
public class Main {
public static void main(String[] args) {
Quadrat q = new Quadrat(5);
System.out.println(q.flaeche());
// liefert 25
Rechteck r = new Rechteck(5, 6);
System.out.println(r.flaeche());
// liefert ebenfalls 25 statt 30
}
}