Questões de Concurso
Comentadas sobre programação orientada a objetos em programação
Foram encontradas 798 questões
Analise o código PHP a seguir no contexto de uma página Web.
<!DOCTYPE html>
<html>
<body>
<?php
class COISA_UM {
public function __construct($x1, $x2) {
$this->att1 = $x1;
$this->att2 = $x2;
}
public function FUNCAO() {
echo "É {$this->att1}, V {$this->att2}.";
}
}
class COISA_DOIS extends COISA_UM {
public function SHOW() {
echo "O que é isso?";
}
}
$XPTO = new COISA_DOIS("PHP", "8");
$XPTO->SHOW();
$XPTO->FUNCAO();
?>
</body>
</html>
Assinale o texto exibido nessa página.
Faça a associação dos métodos da classe ArrayList do Java e suas descrições.
MÉTODOS
1 - add
2 - clear
3 - remove
4 - trimToSize
5 - contains
DESCRIÇÕES
( ) Remove todos os elementos do ArrayList.
( ) Corta a capacidade do ArrayList para o número atual de elementos.
( ) Adiciona um elemento ao final do ArrayList.
( ) Retorna true se o ArrayList contém o elemento especificado; caso contrário, retorna false.
( ) Remove a primeira ocorrência do valor especificado ou o elemento no índice especificado.
A sequência correta dessa associação é
( ) Duas maneiras de passar argumentos em chamadas de método em muitas linguagens de programação são: passagem por valor e passagem por referência.
( ) Passagem por valor e passagem por referência às vezes são denominadas chamada por valor e chamada por referência.
( ) Java permite escolher passagem por valor ou passagem por referência.
( ) Utilizando Java, todos os argumentos são passados por referência.
( ) Na passagem por valor, quando um método modifica um parâmetro do tipo primitivo, as alterações no parâmetro não têm nenhum efeito no valor original do argumento no método chamador.
A sequência correta das afirmações é
Considere as seguintes classes escritas em Java:
abstract class Equipamento {
abstract void testar();
}
class Notebook extends Equipamento {
void testar() {
System.out.println("Testar Notebook");
}
}
class Celular extends Equipamento {
void testar() {
System.out.println("Testar Celular");
}
}
Considere também o seguinte trecho de código:
void testeGenerico(Equipamento e) {
e.testar();
}
Equipamento equip1 = new Notebook();
Equipamento equip2 = new Celular();
testeGenerico(equip1);
testeGenerico(equip2);
O mecanismo que permite à invocação do método testar() de Equipamento, dentro do método testeGenerico(), se comportar de maneira diferente para cada objeto é:
I. Um novo objeto é dinamicamente alocado na memória e todas as variáveis de instâncias são inicializadas.
II. O operador new retorna uma referência (isto é, um endereço de memória) do novo objeto recém criado.
III. Se o comando new está na forma de atribuição, então este endereço é armazenado na variável de referência.
IV. As variáveis de instâncias são inicializadas com 0 (zero) para as variáveis de instâncias numéricas e espaço para as variáveis de instância Strings.
Marque a alternativa CORRETA.
I. O modificador de classe abstract descreve uma classe que possui métodos abstratos. Métodos abstratos são declarados com a palavra reservada abstract e o corpo do método é vazio.
II. O modificador de classe final descreve uma classe que não pode ter subclasses.
III. Se o modificador de classe for omitido, isso significa que esta pode ser usada por qualquer classe do mesmo pacote.
Dentre as alternativas a seguir, escolha a CORRETA.
1) Todo programa escrito em Python só é compilado quando o sistema operacional não dá suporte nativo ao seu interpretador.
2) JavaScript suporta o paradigma de programação orientado a objetos.
3) Ruby não suporta o paradigma de programação orientado a objetos.
4) Python é uma linguagem fortemente tipada, ou seja, as variáveis precisam ser declaradas com um tipo.
Está(ão) correta(s), apenas: