Baixe o app para aproveitar ainda mais
Prévia do material em texto
AO2 Iniciado: 13 jun em 22:15 Instruções do teste Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,6 ptsPergunta 1 Leia o texto a seguir: Assim como os desenhos de engenharia de um carro podem ser reutilizados várias vezes para fabricar muitos carros, você pode reutilizar uma classe muitas vezes para construir vários objetos. A reutilização de classes existentes ao construir novas classes e programas economiza tempo e esforço. Também ajuda a construir sistemas mais confiáveis e eficientes, porque classes e componentes existentes costumam passar por extensos testes, depuração e ajuste de desempenho. Assim como a noção das partes intercambiáveis foi crucial para a Revolução Industrial, classes reutilizáveis são fundamentais para a revolução de software que foi estimulada pela tecnologia de objetos. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 9. Considerando as informações apresentadas, avalie as asserções abaixo e a relação proposta entre elas. I. A programação orientada a objeto adota princípios como a abstração, o encapsulamento, a herança e o polimorfismo. PORQUE A+ A A- A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. A asserção I é uma proposição falsa e a asserção II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. As asserções I e II são proposições falsas. II. Os quatro princípios da programação orientada a objeto combinados dão origem ao princípio “Write Once, Run Anywhere”, em que o código é compilado uma única vez e pode ser reutilizado em qualquer computador. A respeito dessas asserções, assinale a opção correta. 0,6 ptsPergunta 2 Leia o texto a seguir: Ao dirigir um carro, o ato de pressionar o acelerador envia uma mensagem para o veículo realizar uma tarefa — isto é, ir mais rápido. Da mesma forma, você envia mensagens para um objeto. Cada mensagem é implementada como uma chamada de método que informa a um método do objeto a maneira de realizar sua tarefa. Por exemplo, um programa pode chamar o método depósito de um objeto conta bancária para aumentar o saldo da conta. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 9. Adaptado. Considerando o exemplo em destaque no fim do texto acima, assinale a opção que melhor descreve como representar o valor a ser depositado. A+ A A- O valor a ser depositado seria uma exceção da classe conta bancária. O valor a ser depositado deve ser determinado internamente pelo método depósito, seguindo o princípio da abstração. O valor a ser depositado seria um atributo do objeto conta bancária. O valor a ser depositado seria uma classe filha da classe conta bancária. O valor a ser depositado seria um parâmetro do método depósito. 0,6 ptsPergunta 3 O método para levantar ou abaixar o teto existe em “automóvel”, mas só poderá ser usado em “conversível” se for protected ou public. O método para levantar ou abaixar o teto não existe em “automóvel”, mas pode ser criado em “conversível”. O método para levantar ou abaixar o teto existe em “automóvel” e pode ser usado diretamente em “conversível” por herança. Leia o texto a seguir: Uma nova classe de objetos pode ser criada convenientemente por meio de herança — ela (chamada subclasse) começa com as características de uma classe existente (chamada superclasse), possivelmente as personalizando e adicionando aspectos próprios. Na nossa analogia do carro, um objeto da classe “conversível” decerto é um objeto da classe mais geral “automóvel”, mas, especificamente, o teto pode ser levantado ou baixado. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, pp. 9-10. Considerando a analogia acima, assinale a alternativa correta: A+ A A- O método para levantar ou abaixar o teto existe em “automóvel”, mas deve ser sobreposto. O método para levantar ou abaixar o teto existe em “automóvel”, mas deve ser sobrecarregado. 0,6 ptsPergunta 4 Leia o texto a seguir: Grupos de desenvolvimento de software podem usar uma abordagem modular de projeto e implementação orientados a objetos para que sejam muito mais produtivos do que com as técnicas anteriormente populares como “programação estruturada” — programas orientados a objetos são muitas vezes mais fáceis de entender, corrigir e modificar. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 8. Considerando as informações apresentadas, analise as afirmações abaixo: I. A programação orientada a objeto é um conjunto de princípios, portanto pode ser aplicada em qualquer linguagem, desde que o programador siga seus princípios. II. Programas orientados a objeto possuem melhor desempenho do que programas feitos utilizando apenas “programação estruturada”, ou seja, são mais rápidos e usam menos memória. IV. Programas orientados a objeto possuem grande capacidade de reutilização de código, gerando códigos menores e fáceis de propagar correções ou novas funcionalidades. A+ A A- II e III, apenas. II, apenas. I e III, apenas. III, apenas. I e II, apenas. Estão corretas as afirmações: 0,6 ptsPergunta 5 Leia o texto abaixo: Uma classe na linguagem Java pode ser um tipo de dado usado pelo programador com a instrução class, ou um objeto já definido em algum pacote interno da linguagem. Uma classe possui a característica de agregar objetos, formando um conjunto de objetos (quando houver mais de um objeto definido em uma determinada classe), os quais possuem características de armazenamento de dados (seus atributos) e funcionalidades (seus métodos). Uma classe é declarada com a instrução class, que possui a seguinte sintaxe: <qualificador> class [<nome da classe>] { <lista dos tipos e seus atributos)> <lista dos métodos> } Fonte: MANZANO, J. A. N. G. Java 7: programação de computadores: guia prática de introdução, orientação e desenvolvimento. São Paulo: Érica, 2011. A+ A A- int, float, double ou String. public, private ou protected. public, abstract ou final. static ou void. this. O qualificador é um elemento opcional e quando usado, deve ser representado por 0,6 ptsPergunta 6 Abstração e composição. Herança e visibilidade. Composição e agregação. Herança e polimorfismo. Leia o texto abaixo: Ao desenvolver um sistema para controlar hidrômetros e relógios utilizados para registrar o consumo de água, é preciso observar se estes dois instrumentos possuem características e comportamento comuns. Neste contexto, o desenvolvedor utilizou alguns conceitos fundamentais da orientação a objetos, eles se referem à estrutura das classes para reutilização de código e outros estão relacionados ao chamamento de métodos com mesma assinatura, considerando as especificidades da operação dos hidrômetros. Quais foram os conceitos de orientação a objetos implementados pelo desenvolvedor apresentado no texto acima? A+ A A- Agregação e polimorfismo. 0,6 ptsPergunta 7 Considerando o texto apresentado, compreende-se que a classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de abstração. A partir do texto, é possível afirmar que a classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de encapsulamento. A partir do texto, é possível afirmar que a classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de acoplamento. A partir do texto, entende-se que a classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai.A este efeito dá-se o nome de herança. Considerando o texto apresentado, entende-se que a classe-filho automaticamente herda os atributos e as funcionalidades da classe-pai. A este efeito dá-se o nome de polimorfismo. Leia o texto abaixo: Uma classe pode assumir alguns comportamentos. Por exemplo, uma classe pode ser definida a partir de outra classe já existente. Nesse caso a classe definida a partir de uma classe existente é chamada de classe-filho (ou subclasse), enquanto a classe existente é denominada classe-pai. É possível determinar famílias de classes através de um conceito de hierarquia de classes. Fonte: MANZANO, J. A. N. G. Java 7: programação de computadores: guia prática de introdução, orientação e desenvolvimento. São Paulo: Érica, 2011. Considerando as informações apresentadas, assinale a opção correta. A+ A A- 0,6 ptsPergunta 8 Porque ela possui erros: atributo público e métodos private e protected. Porque ela é uma classe abstrata e serve apenas para herança. Porque ela não possui get e set para seu atributo. Porque ela é uma interface. Porque faltou implementar o método fala. Analise o código abaixo: abstract class Pessoa { public String nome; public Pessoa(){ // ... } private void anda() { // ... } protected abstract void fala(); } Considerando o código exposto acima, por que não podemos criar objetos da classe Pessoa? A+ A A- 0,6 ptsPergunta 9 A partir do texto, entende-se que uma interface especifica o que deve ser feito, mas não como deve ser feito. Uma interface, assim como uma classe abstrata, fornece os nomes dos métodos e os implementa, conforme indica o texto. A partir do texto, compreende-se que um programa em Java pode instanciar uma interface. A partir do texto, entende-se que as interfaces possuem atributos assim como as classes. Segundo o texto, todos os métodos não precisam ser implementados pela classe que venha a utilizar uma determinada interface. Leia o texto abaixo: Um método abstrato define a assinatura de um método, mas não fornece implementação. Uma subclasse deve fornecer sua própria implementação de cada método abstrato definido por sua superclasse. Portanto, um método abstrato especifica a interface do método, mas não a implementação. Embora as classes e métodos abstratos sejam úteis, podemos levar esse conceito um passo adiante. Em Java, podemos separar totalmente a interface de uma classe de sua implementação usando a palavra-chave interface. Uma interface é sintaticamente semelhante a uma classe abstrata no fato de podermos especificar um ou mais métodos sem corpo. Estes métodos devem ser implementados por uma classe para que suas ações sejam definidas. Quando uma interface é definida, não há limite para o número de classes que podem implementá-la. Além disso, uma classe pode implementar qualquer número de interface. Fonte: SCHILDT, H. Java para iniciantes: crie, compile e execute programas Java rapidamente, 6ª edição. Porto Alegre: Bookman, 2015 (adaptado). Considerando as informações apresentadas, assinale a opção correta. A+ A A- 0,6 ptsPergunta 10 As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa correta da I. As asserções I e II são proposições falsas. A asserção I é uma proposição falsa e a asserção II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras e a asserção II é uma justificativa correta da I. Leia o texto a seguir: A maioria das declarações de variável de instância é precedida pela palavra- chave private. Da mesma forma que public, private é um modificador de acesso. As variáveis ou métodos declarados com o modificador de acesso private só são acessíveis a métodos da classe em que isso ocorre. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017, p. 58. Considerando as informações apresentadas, avalie as asserções abaixo e a relação proposta entre elas. I. O uso de métodos get e set públicos em atributos private constitui uma violação do encapsulamento da classe. PORQUE II. Métodos get e set permitem, respectivamente, ler e modificar o valor do atributo, e métodos públicos são visíveis para todo o projeto. A respeito dessas asserções, assinale a opção correta: A+ A A- Salvo em 22:36 A asserção I é uma proposição verdadeira e a asserção II é uma proposição falsa. Enviar teste A+ A A-
Compartilhar