Analise as afirmações sobre as linguagens de programação. ...

Próximas questões
Com base no mesmo assunto
Q946480 Programação
Analise as afirmações sobre as linguagens de programação.
I. O mecanismo de herança em Java ocorre em tempo de compilação, ou seja, todo reaproveitamento de código realizado por herança é imutável em tempo de execução. II. A linguagem C++ possui herança múltipla, Java possui somente herança simples para classes concretas e abstratas, mas possui herança múltipla para a “interface”, já Javascript não possui herança como funcionalidade nativa. III. C++ é uma linguagem compilada, Java é compilada para uma linguagem de máquina intermediária chamada de bytecodes, sendo esta interpretada e Javascript é interpretada.
É correto afirmar que
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - somente as afirmativas I e III são verdadeiras.

Vamos analisar cada uma das afirmações para entender o porquê desta alternativa ser a correta:

Afirmativa I: A herança em Java é um mecanismo que permite que uma classe compartilhe código e comportamento de outra classe. Este processo de herança é definido em tempo de compilação, ou seja, as relações de herança entre classes são estabelecidas quando o código é compilado, e não são modificáveis em tempo de execução. Portanto, a afirmativa I é verdadeira.

Afirmativa II: Esta afirmativa possui uma incoerência. C++ de fato suporta herança múltipla, permitindo que uma classe derive de mais de uma classe base. Java, por outro lado, não permite herança múltipla entre classes concretas ou abstratas; uma classe em Java só pode estender uma única classe. No entanto, Java permite herança múltipla de tipos através de interfaces, onde uma classe pode implementar múltiplas interfaces. A parte que menciona o JavaScript está incorreta: JavaScript tem herança, mas usa um modelo baseado em protótipos, que é diferente da herança clássica vista em C++ e Java. Dessa forma, a afirmativa II é falsa.

Afirmativa III: C++ é uma linguagem compilada diretamente para código de máquina nativo do sistema operacional em que o compilador está sendo executado. Java é compilada para bytecodes, que são instruções para a Máquina Virtual Java (JVM), e esses bytecodes são interpretados ou compilados just-in-time para código nativo durante a execução. JavaScript é uma linguagem interpretada, executada tipicamente por um motor de JavaScript no contexto de um navegador ou em um ambiente como Node.js. Então, a afirmativa III está correta.

Com base na análise acima, concluímos que a alternativa correta é a B, pois apenas as afirmativas I e III são verdadeiras.

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

I. CORRETO, depois criada as classes e os relacionamentos em tempo de compilação, não podemos altera-los em tempo de execução.


II. INCORRETO, A linguagem C++ possui herança múltipla, Java possui somente herança simples para classes concretas e abstratas, mas possui herança múltipla para a “interface”, já Javascript não possui herança como funcionalidade nativa.

Acredito que o erro principal é afirmar que javascript não possui herança, como javascript é orientada a objeto, obviamente possui suporte a herança nativa.


III. CORRETO, afirmativa serve para resumir bem as linguagens mencionada.


GABARITO ALTERNATIVA B

Java não admite herança múltipla.

b-

All JavaScript objects inherit properties and methods from a prototype.

https://www.w3schools.com/js/js_object_prototypes.asp

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo