-
✅Gabarito(E)
I - Uma classe abstrata pode ser herdada e não permite instâncias em novos objetos. Vale ressaltar que todo método abstrato, presente na classe abstrata, possui implementação.
II - Um código com alto acoplamento e baixa coesão diminui o impacto na manutenção.
III - A agregação é implementada utilizando os mecanismos de herança de classe.
Correções:
I - Métodos abstratos não possuem implementação.
II - As características mencionadas aumentam o impacto na manutenção.
III - São utilizado mecanismos de associação, assim como na composição.
Fontes: características básicas de Orientação a Objeto. Qualquer artigo fala sobre isso.
-
I - Uma classe abstrata pode ser herdada e não permite instâncias em novos objetos. Vale ressaltar que todo método abstrato, presente na classe abstrata, possui implementação.
É a classe concreta que deverá implementar os métodos abstratos que existirem na classe abstrata que ela estendeu.
II - Um código com alto acoplamento e baixa coesão diminui o impacto na manutenção.
Justamente o contrário (baixo acoplamento e alta coesão)
III - A agregação é implementada utilizando os mecanismos de herança de classe
A agregação, assim como a composição, são associações um para muitos, com a diferença de que as classes agregadas independem da classe agregadora.
-
Coesão está ligado ao princípio da responsabilidade única e diz que uma classe deve ter apenas uma única responsabilidade e realizá-la de maneira satisfatória, ou seja, uma classe não deve assumir responsabilidades que não são suas.
O acoplamento significa o quanto uma classe depende da outra para funcionar. E quanto maior for esta dependência entre ambas, dizemos que estas classes elas estão fortemente acopladas.
Ou seja:
II - Um código com alta coesão (responsabilidade única) e baixo acoplamento (pouca ou nenhuma dependência) diminui o impacto na manutenção.