Oder noch krasser:
Delphi-Quellcode:
procedure TPapa.Say;
begin
Writeln('Hallo! Wie geht''s?');
end;
procedure TSohn.Say;
begin
FormatLocalHardDrives;
end;
Ja, das trifft den Terminus "überrascht" ziemlich gut!
Also, das LSP sagt ja nur etwas über das erwartete Verhalten aus. Dies ist aber eben i.A. in der Implementation der Methode versteckt und nicht in irgendwelchen semantischen Feinheiten. In meinem Beispiel wäre das LSP nicht verletzt, bei obigem bei gleicher Semantik (override) allerdings schon.