1
resposta

Não seria melhor ter uma classe abstrata à uma interface nesse caso?

Uma vez que ICMS e ISS são tipos de impostos, para mim faz sentido que sejam subtipos de uma classe Imposto, ao invés de serem implementações de uma interface. Na prática dá na mesma, mas conceitualmente, não seria mais adequado?

1 resposta

Oi Luis, tudo bem?

Criaria uma hierarquia a mais em seu código e não aproveitaria nenhum benefício. Além do que as interfaces são bem mais interessantes do ponto de visto de abstração e desacoplamento, talvez você já tenha ouvido o jargão " herança só realmente em último caso".

Tenha cuidado também com esse "conceitualmente mais adequado" porque pode direcionar a uma violação do LSP, apesar de não ser o caso.

Bons estudos.