Ahoj, jsem relativně seznámen s liskov substitution principle, nicméně stejně mi jedna věc vrtá v hlavě. Tedy, zvažme část kódu:
<?php
class Prvni {
private $x;
private $y;
public function x() { }
public function y() { }
}
class Druha extends Prvni {
private $z;
public function z() { }
}
Jedná se v tomto případě o porušení LSP, nebo ne? A pokud bych měl v první třídě identifikátory přístupu protected místo public, bylo by to porušení principu také nebo ne? Dle mého názoru ano, nicméně nejsem si zcela jist. Jaký je tedy váš názor? Děkuji za odpověď.