Renan,
Desculpe, não sei se entendi bem...
A classe "SemDesconto" herda de "IDesconto", então ela é obrigada a implementar tudo que a interface exige.
public interface IDesconto
{
double Desconta(Orcamento orcamento);
Desconto Proximo { get; set; }
}
public class SemDesconto : IDesconto
{
public Desconto Proximo { get; set; }
public Double Desconta(Orcamento orcamento)
{
return 0;
}
}
Okay... mas o que diz o sagrado princípio "I" — Interface Segregation Principle (Princípio da Segregação da Interface)
===============================================================
O corolário do Interface Segregation Principle é:
“Nenhum cliente deveria ser forçado a depender de métodos que ele não usa”
https://www.blogdoft.com.br/2020/02/23/solid-de-verdade-interface-segregation-principle-isp/
===============================================================
OKay, mas se ela ASSINOU um contrato, precisa CUMPRIR esse contrato, não é como se fosse um "assinei sem ler" de um certo presidente molusco mafioso assassino ladrão bêbado mijado zoófilo de 9 dedos... entende o problema?
E NÃO teria como fazer a classe "SemDesconto" NÃO assinar a interface "IDesconto"...
... ficamos em um beco sem saída, que é muito parecido com a situação econômica e política brasileira nos dias de hoje.
Com corda ou sem corda?
[]'s,
Fabio I.