SóProvas


ID
645376
Banca
AOCP
Órgão
BRDE
Ano
2012
Provas
Disciplina
Engenharia de Software
Assuntos

Na programação orientada a objetos, temos conceitos como Herança e Polimorfismo. Sobre esses conceitos analise as assertivas e assinale a alternativa que aponta a(s) correta(s).

I. Para evitar código redundante, o paradigma de orientação a objetos oferece uma estrutura hierárquica e modular para reutilização de código através de uma técnica conhecida como herança.

II. Herança permite projetar classes genéricas que podem ser especializadas em classes mais particulares, onde as classes especializadas reutilizam o código das mais genéricas.

III. Literalmente, “polimorfismo” significa “muitas formas”. No contexto e projeto orientado a objetos, entretanto, refere-se à habilidade de uma variável de objeto de assumir formas diferentes.

IV. Polimorfismo permite que os atributos de uma classe não tenham acesso diretamente.

Alternativas
Comentários
  • IV. Polimorfismo (Encapsulamento) permite que os atributos de uma classe não tenham acesso diretamente.
  • gabarito (C)

    achei muito estranha essa questão, não concordo com o item III...
  • Se as variáveis estiverem com o tipo public poderão ser acessadas por outras classes que as herdem. A alternativa IV está incorreta, pois não é o Polimorfismo que define que os atributos sejam acessados, mas sim o modificador de acesso deste atributo.


  • III - Correta. Segundo Page-Jones, existem duas definições válidas para polimorfismo: 
    (A) Polimorfismo é a habilidade pela qual uma única operação ou nome de atributo pode ser definido em mais de uma classe e assumir implementações diferentes em cada uma dessas classes.
    (B) Polimorfismo é a propriedade por meio da qual um atributo ou variável pode apontar para (ou manter o identificador de) objetos de diferentes classes em horas diferentes.

    (Fonte: Fundamentos do Desenho OO com UML, Meilir Page-Jones, pag 39)

    Gabarito letra "C".

  • IV. Polimorfismo permite que os atributos de uma classe não tenham acesso diretamente. (Refere-se ao Encapsulamento, Polimorfismo é outra característica) 

    RESPOTA: C

  • Segundo Page-Jones, existem duas definições válidas para polimorfismo: 

     

    1) Polimorfismo: é a habilidade pela qual uma única operação ou nome de atributo pode ser definido em mais de uma classe e assumir implementações diferentes em cada uma dessas classes.


    2) Polimorfismo: é a propriedade por meio da qual um atributo ou variável pode apontar para (ou manter o identificador de) objetos de diferentes classes em horas diferentes.

     

    Page-Jones fala em nome de atributo ou variável que podem apontar para objetos pertecentes a diferentes classes ou seja ele não está falando em atributos "comuns" de classe e sim atributos que são objetos. 

     

    Fonte: Fundamentos do Desenho OO com UML, Meilir Page-Jones, pag 334)

  • c

    A questao aborda conceitos de OOP. Herança é o mecanismo que permite que uma subclasse herde atributos e metodos do super class. Ha 3 meios de usar herança:

    a- reuso de herança - herança simples.

    b- diferença - adiciona atributos e operações além das herdadas

    c- substituição por tipo qualquer referencia à superclass permite substuição em subclass, ate as futuras.

    Em herança, usa-se final para impedir super classe de ter uso em herança. Extends é usado para herdar de outra class