SóProvas


ID
1042606
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

Julgue os itens a seguir acerca de análise e projeto orientados a objeto.

Se uma subclasse herdar características de duas ou mais superclasses, ocorrerá uma herança múltipla.

Alternativas
Comentários
  • Gabarito alterado para E.
    Por na?o informar o tipo de heranc?a a ser estabelecida, se linear ou na?o linear, opta-se pela alterac?a?o do item.

     

  • Conforme o livro “Java como programar”, 6ª Edição, autor Deitel, no capítulo 9 intitulado “Programação orientada a objetos: herança” temos os seguintes conceitos expressos
    na página 301, no 4º parágrafo do tópico “9.1 Introdução” transcrito:
    A superclasse direta é a superclasse a partir da qual a subclasse herda explicitamente. Uma superclasse indireta é qualquer superclasse acima da classe direta na hierarquia de classe, que define os relacionamentos de herança entre as classes. No Java, a hierarquia de classe inicia com a classe Object (no pacote java.lang), que toda classe em Java direta ou indiretamente estende (ou “herda de”). A Seção 9.7 lista os métodos de classe Object, que todas as outras classes herdam. No caso da herança simples, uma classe é derivada de uma superclasse direta. O Java, ao contrário de C++, não suporta herança múltipla (que ocorre quando uma classe é derivada de mais de uma superclasse DIRETA).

    Visto que a assertiva não especifica o tipo de herança, se é direta ou indireta, não há como afirmar que quando uma classe herdar de duas ou mais superclasses, ocorrerá uma herança múltipla, pois uma classe pode herdar de uma superclasse direta e de uma superclasse indireta não ocorrendo nesse caso a herança múltipla, visto que a classe não foi derivada de duas ou mais superclasses DIRETAS.
    Para que a assertiva tornar-se correta, deveria ser escrita assim:
    98 Se uma subclasse herdar características de duas ou mais superclasses DIRETAS, ocorrerá uma herança múltipla.
    Ou
    98 Se uma subclasse herdar características de duas ou mais superclasses ATRAVÉS DE HERANÇA SIMPLES, ocorrerá uma herança múltipla.
    A assertiva está, dessa forma, ERRADA, visto está em desacordo com o conceito de herança múltipla:
    herança múltipla (que ocorre quando uma classe é derivada de mais de uma superclasse DIRETA).
    O Termo DIRETA faz toda a diferença para avaliação da questão.

  • Suponha uma hierarquia de 3 classes de herança    A ----> B ------> C

    A é superclasse de B,  B é superclasse de C. Note que C vai herdar características de A e B, no entanto não há herança múltipla.

    Portanto, uma classe pode herdar característica de 2 ou mais classe e não necessariamente haverá herança múltipla.

    ERRADA a afirmação na questão.

  • Um exemplo fácil de herança múltipla: Uma classe "relógio", outra classe "radio", e uma classe "rádio-relógio" herdando características das duas superclasses.

  • Um exemplo que mataria esta pegadinha é termos uma classe CelularXPTO que herda da Classe Celular, aí a Classe Celular herda da Classe Dispositivos, a classe Dispositivos herda da classe Gadgets, mostrando heranças simples, mas que tem hierarquias, logo a classe CelularXPTO terá as características e métodos da classe Gadgets e todas as filhas...

  • Pegadinha muito esperta... a chave está na palavra "características":

    "Se uma subclasse herdar características de duas ou mais superclasses, ocorrerá uma herança múltipla."
    Se as superclasses estiverem em cascata (A -> B -> C), as CARACTERÍSTICAS são herdadas sem existir herança multipla. Tire a palavra "características" do enunciado e vc tem o conceito de herança multipla
  • Questão mal feita. Não curti.

  • caberia recurso esta pobre questão.

  • Contra exemplo: Classe C herda características da Classe B que herda da classe A. Nesse caso NÃO teremos herança múltipla pois C está herdando características de A e B, mas não simultaneamente.


    Portanto, gabarito Errado.


    Obs.: Lembre-se que Java não  possui suporte para herança múltipla.


    Bons estudos!

  • Na verdade não houve pegadinha, o próprio examinador errou a questão dele mesmo (preliminarmente o gabarito era correto). Depois de recursos, alterou para errado visto esta possibilidade explicada pelos colegas A->B->C onde C herdaria características de A e de B.

  • Na verdade o exemplo de hierarquia A->B->C, onde a classe C herda de A e de B, não necessariamente torna a resposta "ERRADA" a correta. Não está especificado o tipo de herança.  Se C tiver como superclasses imediatas A e B, ocorrerá herança múltipla. A questão pode ser certa ou errada dependendo de como se der essa herança, o que a questão nao especifica. Se disesse "...SEMPRE haverá herança múltipla" aí sim estaria ERRADA  a afirmação. Essa questão apenas deve ser anulada.

  • huauauha!! eu marcaria errada, pq tem o A-->B-->C

    mas conhecendo o CESPE

    inicialmente fui de certa

    huauhauha

     

    legal saber que o gabarito só foi alterado por causa de recursos

     

    esses examinadores não fazer a menor ideia do que seja O.O

    pegam conceitos prontos de livros, tiram algumas palavras e fazem a questão

  • ERRADO!!!

    PODE OCORRER TANTO HERANÇA MULTIPLA COMO HERANÇA LINEAR.

     

  • A questão nao disse SEMPRE nem tampouco disse que era para ser considerada como linguagem JAVA. Sendo assim, existe a possibilidade de haver herança múltipla SIM. Se o examinador tivesse colocado SEMPRE, estaria errada

  • HERANÇA MULTIPLA COMO HERANÇA LINEAR.

    Existem heranças Linear, as transitivas.

    Exemplo:

    Classe A = Mãe

    Classe B = Filha

    Classe C = Linear, essa não vem da A

    B ---> A = Múltipla

    B ---> C = Linear