Estou fazendo o curso Flutter: melhore a qualidade do app com design patterns e fiquei com uma dúvida no Para saber mais: princípios SOLID.
Lendo a definição do Liskov Substitution Principle (LSP), notei o seguinte trecho:
"Ele diz que uma classe derivada (uma classe que herda algo de uma classe base) deve ser substituível por sua classe base".
Fiquei confuso com a direção dessa substituição. Pelo que estudei, o princípio diz o oposto: que a classe base deve ser capaz de ser substituída por qualquer uma de suas classes derivadas (filhas) sem que o programa quebre.
No próprio exemplo dado logo abaixo, a função espera receber a classe base (Funcionario) e nós passamos as classes derivadas (Gerente ou Vendedor) no lugar dela.
Isso não significa que a classe base foi substituída pelas derivadas?
A definição do texto acabou ficando invertida por engano ou tem alguma outra interpretação que deixei passar?
Obrigado!