Foram encontradas 56.775 questões.
Considere o seguinte código em Java:
class Animal {
protected String nome;
public Animal(String nome) {
this.nome = nome;
}
public String emitirSom() {
return "Som genérico";
}
}
class Cachorro extends Animal {
public Cachorro(String nome) {
super(nome);
}
@Override
public String emitirSom() {
return "Latido";
}
}
Com base nos princípios da Programação Orientada a Objetos e no mecanismo de herança, analise as afirmativas a seguir:
I. A classe Cachorro herda o atributo nome da classe Animal e pode acessá-lo diretamente por ele ter sido declarado como protected.
II. A anotação @Override garante, em tempo de compilação, que o método emitirSom() da subclasse esteja sobrescrevendo corretamente um método da superclasse.
III. Caso o construtor da classe Cachorro não chamasse explicitamente super(nome), o código ainda compilariam normalmente, pois o construtor da superclasse é automaticamente herdado.
IV. A classe Cachorro especializa o comportamento da superclasse ao redefinir o método emitirSom(), caracterizando polimorfismo por sobrescrita.
Assinale a alternativa CORRETA:
Provas
Considere os algoritmos clássicos de ordenação: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort e Quick Sort.
Analise as afirmativas a seguir com base em suas propriedades formais de complexidade, estabilidade e uso de memória na implementação tradicional apresentada na literatura clássica.
I. O Insertion Sort possui complexidade de tempo O(n²) no pior caso e pode apresentar complexidade O(n) no melhor caso, quando o vetor já se encontra ordenado.
II. O Merge Sort apresenta complexidade O(n log n) nos casos melhor, médio e pior, é estável e, em sua implementação tradicional, requer espaço adicional proporcional a O(n).
III. O Quick Sort apresenta complexidade média O(n log n) e pior caso O(n²), podendo este ocorrer quando o pivô escolhido produz partições altamente desbalanceadas.
IV. O Selection Sort possui complexidade O(n²) nos casos melhor, médio e pior e, em sua implementação tradicional, não é considerado um algoritmo estável.
Assinale a alternativa CORRETA:
Provas
Uma aplicação web utiliza JavaScript para consumir uma API RESTful responsável por fornecer dados de usuários armazenados em um servidor remoto. Considere o trecho de código a seguir:
fetch("https://api.exemplo.com/usuarios/15")
.then(response => response.json())
.then(dados => {
console.log(dados.nome);
});
Considerando os princípios das APIs RESTful e a semântica do protocolo HTTP, assinale a alternativa CORRETA sobre a requisição realizada pelo código apresentado.
Provas
Em um sistema orientado a objetos, um método é chamado por meio de uma referência do tipo da superclasse, mas o objeto referenciado pertence a uma subclasse que redefine esse método.
Nesse cenário, a escolha da implementação do método ocorre:
Provas
No contexto da lógica de programação e das estruturas de controle de fluxo, as estruturas de repetição permitem a execução de um mesmo bloco de comandos diversas vezes, de acordo com uma condição previamente definida. Dentre essas estruturas, destaca-se a estrutura de repetição do tipo enquanto (while), amplamente utilizada em diversas linguagens de programação.
Considerando o funcionamento dessa estrutura, assinale a alternativa que descreve CORRETAMENTE o comportamento de uma estrutura de repetição do tipo enquanto:
Provas
Provas
Provas
Provas
Observe o código abaixo:
import javax.swing.*;
import java.awt.event.*;
public class TesteEventos {
private static int contador = 0;
public static void main(String[] args) {
JFrame frame = new JFrame();
JButton botao = new JButton("Executar");
botao.addActionListener(e -> {
contador++;
System.out.print(contador);
});
botao.addActionListener(e -> {
contador++;
System.out.print(contador);
});
frame.add(botao);
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Em aplicações Java com interface gráfica, componentes podem reagir às ações do usuário por meio do registro de objetos ouvintes (listeners), cujos métodos são executados sempre que um evento ocorre. Se o código apresentado estiver em execução, caso o usuário acione o botão duas vezes, a tela do console exibirá a seguinte saída:
Provas
Provas
Caderno Container