SóProvas


ID
1474819
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Engenharia de Software
Assuntos

Analise as afirmativas a seguir relativas ao paradigma da orientação a objetos.

I - O princípio do encapsulamento preconiza que um objeto deve esconder a sua complexidade interna.
II - Uma mensagem de um objeto A para um objeto B indica que A realizou uma tarefa requisitada por B.
III - A existência da mesma operação polimórfica definida em duas classes, ClasseA e ClasseB, implica necessariamente que ou ClasseA seja subclasse de ClasseB, ou que ClasseB seja subclasse de ClasseA.

É correto APENAS o que se afirma em

Alternativas
Comentários
  • I - O princípio do encapsulamento preconiza que um objeto deve esconder a sua complexidade interna.

    CORRETO

     
    II - Uma mensagem de um objeto A para um objeto B indica que A realizou uma tarefa requisitada por B

    Na verdade é o oposto, B realizou uma tarefa requisitada por A.

     
    III - A existência da mesma operação polimórfica definida em duas classes, ClasseA e ClasseB, implica necessariamente que ou ClasseA seja subclasse de ClasseB, ou que ClasseB seja subclasse de ClasseA.

    Não necessariamente.

    Segue um cenário possível: A ClasseA e a ClasseB podem não possuir nenhum relacionamento direto entre si, e ambas serem diretamente subclasses de uma ClasseC. Assim, poderia existir uma operação polimórfica definida em todas essas classes.

     

    Essa questão também foi comentada no link abaixo, deixando mais claro o item III:

    http://linubr.blogspot.com/2012/08/questoes-de-java-da-prova-da-petrobras.html

  • Não concordo com o gabarito esse principio esta relacionado ao conceito de abstração.

    Abstração

    - Uma abstração refere-se a uma sequência de instruções que possuem uma função específica e limitada.

    - Permite especificar procedimentos e dados internamente, mas suprimir a necessidade de que “estranhos” tenham conhecimento de detalhes de baixo nível.

    - Os detalhes específicos são omitidos;

    - É uma técnica contra a complexidade da programação;

    - Permite que os programadores concentrem-se nos atributos essenciais e ignorem os atributos subordinados.

    Encapsulamento:

    sugere que os métodos sejam “categorizados por decisões de projeto que ocultem (cada uma delas) de todas as demais.”

    - Prevê o isolamento de determinados elementos do objeto (métodos /atributos) de acordo com a necessidade de acesso a eles.

    - Nem todo método e atributo precisam estar visíveis e acessíveis publicamente;

    - Os dados de um objeto devem ser “protegidos” e apenas modificados por métodos da própria classe.

    - O encapsulamento se dá através dos modificadores de acesso que controlam a visibilidade.