Liskovové princip zastoupení

Liskovové princip zastoupení (Liskov substitution principle) je princip objektově orientovaného programování, který říká, že pokud v počítačovém programu je S potomkem předka T, potom objekty typu T mohou být nahrazeny objekty typu S (např. objekt typu T lze zastoupit jakýmkoliv objektem potomka S) beze změny jakékoliv potřebné vlastnosti předka T. Liskovové princip zastoupení je formálněji konkrétní definicí vztahu dědění (subtyping) nazvaného (strong) behavioral subtyping, kterou poprvé představila na konferenci v roce 1987 Barbara Liskovová v hlavním příspěvku s názvem Data abstraction and hierarchy. Jedná se spíše o sémantický než syntaktický vztah, protože předpokládá sémantickou zaměnitelnost typů v hierarchii, zejména zaměnitelnost jejich objektů. Barbara Liskov a Jeannette Wing tento princip v roce 1994 stručně formulovali takto:

Podmínka na potomka: Nechť je vlastnost prokazatelná objektu typu . Potom jsou pravdivé pro objekty typu , kde je potomkem .

Reference

V tomto článku byl použit překlad textu z článku Liskov substitution principle na anglické Wikipedii.

Související články