← Questões de Programação

Programação · CEPUERJ · 2021

Questão comentada de Programação

Um tipo de dados define uma coleção de valores de dados e um conjunto de operações pré-definidas sobre ele. O sistema de tipos de uma linguagem de programação define como um tipo é associado com cada expressão na linguagem e inclui suas regras para equivalência e compatibilidade de tipos. Entender seu sistema de tipos é uma das partes mais importantes para entender a semântica de uma linguagem de programação. De acordo com essa afirmação e com os conceitos da linguagem de programação Java, é correto afirmar que:

Gabarito: B

Quando a questao fala em sistema de tipos, ela esta puxando sua atencao para a forma como a linguagem organiza valores, variaveis e regras de uso. Em Java, isso aparece muito claramente em tipos primitivos, classes, arrays e enums, cada um com seu papel bem definido. O ponto central aqui eh perceber que a linguagem nao trata tudo como texto solto: ela classifica os dados e impõe limites para evitar confusao, como tentar somar banana com calculadora sem avisar o compilador. No caso das enumeracoes, Java oferece um tipo especial para representar um conjunto fixo de constantes nomeadas. Isso facilita a leitura, melhora a seguranca de tipos e evita o uso de valores magicos espalhados no codigo. Em termos conceituais, a enumeração eh um tipo de dado definido pelo usuario, com comportamento semelhante a um tipo ordinal, pois seus valores sao finitos e ordenados na declaracao. Por isso o gabarito esta na alternativa B. Ela descreve corretamente a enumeração como um tipo de dado ordinal definido pelo usuario que agrupa constantes nomeadas. Em Java, enum nao eh apenas um conjunto de constantes soltas: ele cria um tipo proprio, com valor bem definido, podendo inclusive ter metodos e atributos. A base conceitual vem da propria especificacao da linguagem Java, que trata enum como uma forma especial de classe. As demais alternativas escorregam em pontos importantes. Arrays em Java sao homogeneos quanto ao tipo dos elementos, nao heterogeneos. Java tambem nao tem ponteiros expostos como C ou C++, e heranca multipla de classes nao funciona como em C++; em Java, a heranca de implementacao e unica, embora uma classe possa implementar varias interfaces.

Continue treinando

Questões relacionadas