Analise as afrmativas abaixo com relação à programação orien...
1. Uma linguagem Orientada a Objetos precisa implementar quatro conceitos básicos: abstração, encapsulamento, herança e polimorfsmo.
2. Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos. O conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe.
3. O conceito de herança está relacionado a fornecer um mecanismo para que se defnam novas classes a partir de uma já existente. Podemos dizer que essas novas classes her- dam propriedades e métodos da classe-mãe.
4. O emprego do paradigma de programação Orientada a Objetos garante a reutilização de código.
Assinale a alternativa que indica todas as afrmativas corretas
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - São corretas apenas as afirmativas 1, 2 e 3.
Para resolver a questão é necessário ter compreensão dos quatro pilares da programação orientada a objetos: abstração, encapsulamento, herança e polimorfismo. Também é preciso entender o contexto de aplicação e os benefícios potenciais que a orientação a objetos pode trazer, como a reutilização de código, embora isso não seja garantido apenas pelo uso do paradigma.
A afirmativa 1 é correta pois realmente são estes os quatro conceitos básicos que definem uma linguagem como orientada a objetos. Estes conceitos trabalham em conjunto para permitir o desenvolvimento de sistemas modulares e reutilizáveis.
A afirmativa 2 também é correta, pois encapsulamento é um conceito fundamental na programação orientada a objetos. Seu objetivo é ocultar os detalhes da implementação interna de um objeto, expor apenas operações seguras e manter o estado do objeto protegido contra acesso externo inapropriado.
Quanto à afirmativa 3, ela está correta pois descreve adequadamente o conceito de herança. Na herança, uma classe filha herda atributos e métodos de uma classe pai (ou classe base), o que permite a reutilização e extensão de funcionalidades existentes de maneira controlada.
A afirmativa 4 é incorreta justamente porque a reutilização de código não é uma garantia intrínseca do paradigma orientado a objetos. Embora o paradigma facilite e incentive a reutilização, ela ainda depende de um bom design e implementação. Existem diversas situações em que o código pode ser orientado a objetos e ainda assim ser difícil de reutilizar devido a um design pobre ou altamente acoplado.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Esse garante realmente pegou muita gente =/
Na minha opinião a 2 esta errada!
"Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos." na verdade é o funcionamento interno da própria classe (métodos e atributos). Você encapsula métodos e atributos tornando-os, por exemplo, privados, e os expõe por métodos publicos da forma que achar adequado.
*Na minha opinião esta opção está correta. A herança garante a reutilização de código neste paradigma. "Banca fraca".
A herança é um conceito de programação útil, mas é fácil de usar inadequadamente. Interfaces com frequência fazem um trabalho melhor. When to Use Interfaces help you understand when each approach should be used." xml:space="preserve">Este tópico e Quando usar interfacesajudam você a compreender quando cada abordagem deve ser usada.
A herança é uma boa escolha quando:
A hierarquia de herança representa um relacionamento "é um" e não um relacionamento "tem um".
Você pode reutilizar o código de classes base.
Você precisa aplicar a mesma classe e métodos para tipos diferentes de dados.
A hierarquia de classe é razoavelmente superficial, e não é provável que outros desenvolvedores adicionem muitos mais níveis.
Você deseja fazer alterações globais para classes derivadas alterando uma classe base.
https://msdn.microsoft.com/pt-br/library/27db6csx(v=vs.90).aspx"Garante" é sempre um termo FORTE em qualquer contexto quando se trata de enunciados em questões de concurso.
Concordar com a afirmação "O emprego do paradigma de programação Orientada a Objetos garante a reutilização de código." é o mesmo que dizer que "quando se emprega OO não existe nenhum cenário no qual não seja possível reutilizar o código".
Seria algo muito abstrato, fora da realidade.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo