Herança mista

29 respostas
ECO2004

Pessoal, o que é herança mista em Java?
Olhem a questão que me foi perguntada…

40. A linguagem de programação Java, lançada em 1995, tem
demonstrado ser muito estável.
A respeito dessa linguagem, considere as afirmativas a
seguir.
I   -  Java é uma linguagem orientada a objetos de
herança simples e mista que contém tipos de dados
primitivos, como int e objetos.
II   -  Java usa semântica de cópia para tipos de dados
primitivos, e semântica de referência para objetos.
III  -  Java é uma linguagem multiplataforma, com enfoque
no desenvolvimento de aplicações para a Web.

Está correto o que se afirma em
(A) I, apenas.
(B) III, apenas.
(C) I e II, apenas.
(D) II e III, apenas.
(E) I, II e III

A I não está incorreta? Digo incorreta por causa do tipo primitivo objetos.

O que é herança mista?

A resposta é E: todas corretas.

29 Respostas

FernandoFranzini

Java faz herança por interface usando a palavra reservada implements…acho que isso que a questão quis dizer com “mista” lembrando que não existe tal termo na documentação ou especificação. É herança mesmo!

lucasportela

Essa questão está me deixando mais burro. ‘herança mista’, ‘objeto primitivo’, onde diz no site da Oracle que o enfoque é para desenvolvimento para web?

Quem elaborou essa questão deve trabalhar com Portugol e elaborou quando estava no bar.

mathiasnw

Não ouvi falar nesse termo.

Eu imagino que depende de onde esta herdando.

Exemplo:

class Animal{
   protected String nome;
}

class Cao extends Animal{

}

class Cao2 extends Cao{

}

Simples :Animal -> Cao

Mista : Animal -> Cao2

Alguem pode me corrigir

lucasportela

Creio que o enfoque da Petrobras seja procurar petroleo e não elaborar questões sobre java

douglaskd

pergunta meio sacaneadora:

se Mista, quer dizer multipla então. java nao tem herança multipla…

se Mista, quer dizer implementar várias interfaces, ai sim… só que ai ja nao é herança…

no caso então essa afirmativa ta errada…por que java não possui herança multipla(mista)

estranho =P

mathiasnw

Agora lendo com calma.

Está no mínimo estranha a questão

douglaskd:
pergunta meio sacaneadora:

se Mista, quer dizer multipla então. java nao tem herança multipla…

se Mista, quer dizer implementar várias interfaces, ai sim… só que ai ja nao é herança…

no caso então essa afirmativa ta errada…por que java não possui herança multipla(mista)

estranho =P

lucasportela

pra mim é letra F

F) Apenas a II está correta.

lucasportela

pesquisando nos foruns achei um cara que passou a referencia de um livro que tem a tal de ‘herança mista’, basta agora saber se esse livro deve ser considerado um padrão ou deve ser queimado das prateleiras

https://ssl935.websiteseguro.com/mctbooks1/conteudo_produto_item.asp?cod=22744&titulo=Ejb-3-Profissional---Java-Persistence-Api

x111

douglaskd:
pergunta meio sacaneadora:
se Mista, quer dizer multipla então. java nao tem herança multipla…
se Mista, quer dizer implementar várias interfaces, ai sim… só que ai ja nao é herança…
no caso então essa afirmativa ta errada…por que java não possui herança multipla(mista)
estranho =P

Concordo. Já estou nesse meio a 12 anos e nunca ouvi falar de herança “mista”, existe herança simples e multipla! Java “simula” herança multipla com a utilização de interfaces, mas a linguagem não possui herança multipla o que invalida a pergunta.
Quando ao item 2 está correto! O item 3 é questionável, pois não é a linguagem java que roda em multiplas plataformas e sim a maquina virtual. Quando ao ambienete web, isso é fato, mas nunca vi nenhuma pesquisa que respalda-se isso.

Percebe-se que a pessoa que elaborou a questão tem um mínimo de conhecimento da linguagem java e a formulação da mesma permite sua anulação!

x111

lucasportela:
pesquisando nos foruns achei um cara que passou a referencia de um livro que tem a tal de ‘herança mista’, basta agora saber se esse livro deve ser considerado um padrão ou deve ser queimado das prateleiras

https://ssl935.websiteseguro.com/mctbooks1/conteudo_produto_item.asp?cod=22744&titulo=Ejb-3-Profissional---Java-Persistence-Api

Alguem que possui esse livro confirma a informação?
Isso talvez não seja falha do livro e sim da tradução! Mesmo assim temos que ver em que contexto o autor coloca essa informação.

R

Acho que deve ser verificado no livro, mas só pelo fato da pessoa acrescentar na afirmativa:

“contém tipos de dados
primitivos, como int e objetos.”

objetos não são primitivos! :smiley:

Realmente ta um pouco confusa a questão.

rogelgarcia

Essa é uma loooooonga discussão… mas para alguém que tiver passando aqui… e ficar com dúvidas…

Java só possui um tipo de passagem de parâmetros, por cópia.

Não existe passagem por referencia em Java.

Existem alguns autores que chamam de cópia de referência, mas ainda assim, é passagem por cópia.

Essas provas de concurso sempre são mal formuladas.

fernandosavio

Inicialmente o projeto Java foi realizado focando o uso Web mesmo. É só pesquisar a história do Java.
A questão está no tempo do verbo. Se o Java “tem” o enfoque em Web? Não. Se ele “teve”? Aí concordo!
Quanto à programação multi-plataforma não concordo com o x@ndi. Java é uma linguagem multiplataforma sim! Ela roda em cima de uma máquina virtual, que também faz parte da plataforma Java! Máquina virtual também faz parte do Java. Só não cabe ao programador programá-la!

rogelgarcia

Inicialmente Java foi projetado para pequenos dispositivos.

Ela foi melhor aproveitada na web, mas o projeto inicial não era esse.

De qualquer maneira, considero que o “enfoque no desenvolvimento de aplicações web” não é uma coisa que se possa afirmar…

Mesmo porque a linguagem Java propriamente dita (objeto da pergunta), não tem nenhuma construção especifica para sistemas web.

lucasportela

Se o foco é Web, a OCJP não tem sentido. E detalhe que ela é pré-requisito para as outras…

malucocelo

O livro que tem no link fala de herança mista em mapeamento objeto/relacional…

ECO2004

O que me emcabula é dizer que objetos é tipo primitivo…
Uai…não é!!! Nem existe objetos em Java! O que existe é Object.

ECO2004

lucasportela:
pesquisando nos foruns achei um cara que passou a referencia de um livro que tem a tal de ‘herança mista’, basta agora saber se esse livro deve ser considerado um padrão ou deve ser queimado das prateleiras

https://ssl935.websiteseguro.com/mctbooks1/conteudo_produto_item.asp?cod=22744&titulo=Ejb-3-Profissional---Java-Persistence-Api

Eu vi esse livro, mas como vou ver o conteúdo? Só comprando…

ECO2004

douglaskd:
pergunta meio sacaneadora:

se Mista, quer dizer multipla então. java nao tem herança multipla…

se Mista, quer dizer implementar várias interfaces, ai sim… só que ai ja nao é herança…

no caso então essa afirmativa ta errada…por que java não possui herança multipla(mista)

estranho =P

O que eu conheço é um termo chamado delegação, onde é simulado uma herança múltipla implementando interfaces.

douglaskd

ECO2004:
douglaskd:
pergunta meio sacaneadora:

se Mista, quer dizer multipla então. java nao tem herança multipla…

se Mista, quer dizer implementar várias interfaces, ai sim… só que ai ja nao é herança…

no caso então essa afirmativa ta errada…por que java não possui herança multipla(mista)

estranho =P

O que eu conheço é um termo chamado delegação, onde é simulado uma herança múltipla implementando interfaces.

essa questão ta zoada…

rmendes08

ECO2004:
O que me emcabula é dizer que objetos é tipo primitivo…
Uai…não é!!! Nem existe objetos em Java! O que existe é Object.

Na verdade o pessoal tá fazendo confusão porque o item I ficou ambíguo. De qualquer maneira, a questão realmente está mal formulada. Um recurso a anularia fácil fácil.

E

I - Java é uma linguagem orientada a objetos de
herança simples e mista que contém tipos de dados
primitivos, como int, e objetos.

Melhor seria: que contém objetos e tipos de dados primitivos, como int.

Faltou só uma vírgula no item I para desambiguar.

Mas o termo Herança Mista não existe no vocabulário Java. E enfoque Web é forçar a barra. A própria PETROBRAS possui soluções Java para Desktop.

L

lucasportela:
pesquisando nos foruns achei um cara que passou a referencia de um livro que tem a tal de ‘herança mista’, basta agora saber se esse livro deve ser considerado um padrão ou deve ser queimado das prateleiras

https://ssl935.websiteseguro.com/mctbooks1/conteudo_produto_item.asp?cod=22744&titulo=Ejb-3-Profissional---Java-Persistence-Api

Também discordo do gabarito por causa dessa confusão gerada sobre a herança simples e mista/múltipla. Mas o que esse livro de EJB comenta sobre utilização da estratégia de herança mista no mapeamento de Classes para Tabelas de Banco de Dados, não tem a nada a ver com a questão (e nem precisaria ser queimado das prateleiras).

lucasportela

luizwagnerlwtn,

modo de dizer, modo de dizer…queria dizer se essa tal ‘herança mista’ existe ou não existe, se era apenas um termo empregado pelo livro na qual a Oracle utiliza um outro ou se o livro criou este termo ignorando o existente da Oracle. Entendido?

L

Como disse o pessoal que já trabalha com Java a muito tempo, desde 2005 (que foi quando comecei a trabalhar com Java) eu nunca tinha ouvido falar desse termo Herança Mista. Pesquisei então o termo em inglês “mixed inheritance” e encontrei uma aula de OO (www.dlhoffman.com/classnotes/csci360-s03/csci360-20.ppt) que explica a herança simples combinada com a implementação de interfaces seria chamada de herança mista, mas não encontrei nenhuma referência oficial da Sun/Oracle ou livro para ser usado com referência.

ECO2004

wellington.nogueira:
ECO2004:
O que me emcabula é dizer que objetos é tipo primitivo…
Uai…não é!!! Nem existe objetos em Java! O que existe é Object.

Uma coisa é conceito, outra é denominação de uma classe :wink:
objetos são instâncias de classes. Porém, obvio, objeto é objeto e primitivo é primitivo.

Essa questão com certeza vai bater recordes de recurso…
Quando sair, eu coloco aqui no que deu essa questão! :lol:

WellingtonRamos

lucasportela:
pra mim é letra F

F) Apenas a II está correta.


Pode ser também:
F) N.D.A.

WellingtonRamos

lucasportela:
pesquisando nos foruns achei um cara que passou a referencia de um livro que tem a tal de ‘herança mista’, basta agora saber se esse livro deve ser considerado um padrão ou deve ser queimado das prateleiras

https://ssl935.websiteseguro.com/mctbooks1/conteudo_produto_item.asp?cod=22744&titulo=Ejb-3-Profissional---Java-Persistence-Api


Tradução… tradução…

WellingtonRamos

ECO2004:
O que me emcabula é dizer que objetos é tipo primitivo…
Uai…não é!!! Nem existe objetos em Java! O que existe é Object.

Uma coisa é conceito, outra é denominação de uma classe :wink:
objetos são instâncias de classes. Porém, obvio, objeto é objeto e primitivo é primitivo.

Criado 29 de agosto de 2011
Ultima resposta 31 de ago. de 2011
Respostas 29
Participantes 14