Gabarito disponível
I Uma classe deve ser aberta para extensão, mas fechada para modificação.
II Objetos em um programa devem ser substituíveis por instâncias de seus subtipos sem alteração da correção do programa.
III Uma classe deve depender de abstrações, e não de implementações concretas.
Assinale a opção correta.
Resolução comentada
Os três itens descrevem outros princípios (OCP, LSP, DIP), não o SRP.
O princípio da responsabilidade única diz que uma classe deve ter apenas um motivo para mudar. O item I descreve o aberto/fechado (OCP), o II descreve a substituição de Liskov (LSP) e o III descreve a inversão de dependência (DIP). Nenhum se refere ao SRP.
Análise das alternativas
B) O item I é do OCP. C) O item II é do LSP. D) I e III pertencem a outros princípios. E) II e III pertencem a outros princípios.
Referência: Princípios SOLID (Robert C. Martin).
Resolução comentada do VaiConcursos.