Então toda classe que usa o @Overide e muda a logica do metodo, esta ferindo o principio do LSP?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Então toda classe que usa o @Overide e muda a logica do metodo, esta ferindo o principio do LSP?
Olá Ti!
O Princípio da Substituição de Liskov (LSP) estabelece que uma classe derivada deve ser substituível por sua classe base sem quebrar o comportamento do programa. Ou seja, se uma classe A é uma classe base de uma classe B, então B deve poder ser usada no lugar de A sem que o comportamento do programa seja alterado.
Quando usamos a anotação @Override em um método de uma classe derivada, estamos sobrescrevendo o comportamento do método da classe base. Isso não significa, necessariamente, que estamos violando o LSP. O que viola o LSP é se a classe derivada altera o comportamento do método de tal forma que o programa não funcione corretamente quando a classe derivada é usada no lugar da classe base.
Por exemplo, se a classe base tem um método que retorna um número inteiro e a classe derivada sobrescreve esse método para retornar uma string, então a classe derivada viola o LSP, pois não pode ser usada no lugar da classe base sem quebrar o comportamento do programa.
Espero ter ajudado a esclarecer sua dúvida sobre o LSP. Se tiver mais alguma pergunta, é só perguntar!
Espero ter ajudado e bons estudos!