SóProvas


ID
3735139
Banca
FAPEC
Órgão
UFMS
Ano
2020
Provas
Disciplina
Programação
Assuntos

Considere as afirmações relacionadas à programação orientada a objetos.

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.

Assinale a alternativa correta.

Alternativas
Comentários
  • ✅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.