Prévia do material em texto
O.ADS.3 - Programação Orientada à Objetos Ques�onários AV1 AV1 Entrega 13 nov em 23:59 Pontos 40 Perguntas 20 Disponível 5 nov em 0:00 - 13 nov em 23:59 Limite de tempo 120 Minutos Tenta�vas permi�das 2 Instruções Histórico de tenta�vas Tenta�va Tempo Pontuação MAIS RECENTE Tenta�va 1 51 minutos 40 de 40 Pontuação desta tenta�va: 40 de 40 Enviado 13 nov em 12:32 Esta tenta�va levou 51 minutos. IMPORTANTE: • A tenta�va será finalizada após clicar no botão [ENVIAR] • Programe se para realizar suas avaliações com tranquilidade, pois você terá 120 minutos cronometrados (por tenta�va) para conclusão e envio das respostas * Após este prazo, a avaliação será automa�camente finalizada • Serão permi�das duas tenta�vas para realizar esta avaliação, prevalecendo a maior nota ob�da • Ao iniciar a avaliação o cronômetro não para, independentemente da plataforma estar aberta ou não • Durante a realização da prova, será exibido uma questão por vez, podendo [AVANÇAR] ou [VOLTAR] quando necessário, dentro do período da tenta�va • Após abrir a avaliação mesmo não marcando nenhuma opção de resposta, será contabilizada uma tenta�va • Somente finalize a avaliação após conferir as alterna�vas marcadas por você. Boa prova! Fazer o teste novamente 2 / 2 ptsPergunta 1 A programação orientada a objetos surgiu entre as décadas de 1960 e 1970 com o obje�vo de modelar problemas complexos. Desde então, diversas linguagens que u�lizam este paradigma vem sendo desenvolvidas. Entre os principais conceitos u�lizados por este paradigma estão classes e objetos. Entre as opções abaixo, marque aquela que melhor define o conceito de objeto: As variáveis que um programa possui. Uma ação ou comportamento que uma determinada classe pode executar. Um agrupamento de classes que possuem caracterís�cas semelhantes. Uma caracterís�ca específica de uma classe. Uma instância de classe. Correto!Correto! Feedback: A classe representa a abstração de uma en�dade para o meio computacional. A par�r desta abstração, diversos objetos podem ser criados. Cada objeto, representa uma ocorrência específica (instância) da classe. Conforme pode ser visto em 1.1.3. 2 / 2 ptsPergunta 2 Programação estruturada e programação orientada a objetos são o que chamamos de paradigmas, e os paradigmas são modelos ou padrões que foram adotados após anos de experiência. Enquanto o paradigma estruturado foca nas ações, representado por funções e procedimento, o paradigma orientado a objetos foca nos objetos e seus relacionamentos. Com base nessa afirma�va e diante dos conceitos estudados sobre o paradigma de programação orientado a objetos, analise as seguintes proposições: I – Os códigos construídos de acordo com os conceitos de OO apresentam melhor desempenho, pois são baseados em objetos do mundo real. II – Os códigos construídos de acordo com os conceitos de OO são mais fáceis de dar manutenção. III – Os códigos construídos de acordo com os conceitos de OO possibilitam o desenvolvimento em menor tempo, apesar de exigirem mais tempo de modelagem. Assinale a opção CORRETA. I e II estão corretas. Somente I está correta. I, II e III estão corretas. I e III estão corretas. II e III estão corretas. Correto!Correto! Feedback: Cada paradigma de programação possui suas vantagens. A programação estruturada tende a apresentar um melhor desempenho em relação aos códigos desenvolvidos em OO; porém, em OO, os códigos são mais fáceis de manipular em menor tempo de desenvolvimento. 2 / 2 ptsPergunta 3 A UML tem sido adotada como padrão internacional u�lizado para representar graficamente a modelagem de so�wares orientados a objetos. Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas. I - O diagrama de classes é um dos artefatos comportamentais da linguagem UML. PORQUE II - O diagrama de classes contém suas classes e respec�vos atributos e métodos, e como elas se relacionam e trocam mensagens entre si. Assinale a alterna�va CORRETA: As asserções I e II são proposições verdadeiras, e a II é uma jus�fica�va da I. As asserções I e II são proposições verdadeiras, mas a II não é uma jus�fica�va da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Correto!Correto! A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições falsas. Feedback: A linguagem UML possui artefatos comportamentais; porém, o diagrama de classes é estrutural. Isso porque ele possibilita que seja possível visualizar a estrutura de classes com suas respec�vas caracterís�cas e comportamentos. 2 / 2 ptsPergunta 4 A linguagem Java, oferece dois �pos de dados com os quais podemos trabalhar: �pos primi�vos e �pos de referência. Tipos primi�vos correspondem a dados simples ou escalares. Tipos de referência consistem-se em classes e interfaces. Sobre os �pos primi�vos, afirma-se: I – O �po de dados long é u�lizado para armazenar números inteiros e ocupa 64 bits de memória. II – O �po de dados float é u�lizado para armazenar números com ponto flutuante (números reais) e ocupa 64 bits de memória. III – O �po de dados boolean aceita apenas os valores lógicos true e false. Está correto apenas o que se afirma em: As afirma�vas I, II e III. Apenas a afirma�va I. Apenas a afirma�va II. Apenas as afirma�vas II e III. Apenas as afirma�vas I e III. Correto!Correto! Feedback: O detalhamento dos �pos primi�vos da linguagem Java podem ser vistos na unidade 1 item 1.3.2. 2 / 2 ptsPergunta 5 Diagrama de classe é o �po de diagrama é o mais u�lizado e um dos mais importantes dentre os diagramas da UML. Por meio desse diagrama, é possível definir a estrutura do sistema, em termos de suas classes, os atributos e métodos que ela possui, e como as classes se relacionam e trocam mensagens entre si. Considerando a representação da classe Lampada abaixo, analise as asser�vas que seguem: I – A classe Lampada possui apenas um atributo. II – A classe Lampada possui apenas um método. III – A classe Lampada possui um atributo chamado acende. Está correto apenas o que se afirma em: As asser�vas I, II e III. Apenas a asser�va II. Apenas a asser�va I. Correto!Correto! Apenas a asser�va III. Apenas as asser�vas II e III. Feedback: Em um diagrama de classe, o primeiro compar�mento possui o nome da classe, o segundo os atributos e o terceiro os métodos que a classe possui. Conforme pode ser visto em 1.2. 2 / 2 ptsPergunta 6 Abstração e encapsulamento são dois dentre os quatro pilares da programação orientada a objetos, e ambos estão interligados entre si. Baseando-se nessa informação, qual das alterna�vas a seguir jus�fica essa ligação? Porque, na abstração, é possível iden�ficar as classes que são estruturas de um objeto. Porque, na abstração, é possível iden�ficar os membros de uma classe. Porque, através da abstração, é possível iden�ficar os conjuntos de objetos do mundo real presentes em um problema. Porque, na abstração, é possível dividir o problema em subproblemas. Porque, na abstração, é possível iden�ficar o nível de acesso aos membros de uma classe. Correto!Correto! Feedback: Todas as proposições apresentadas são verdadeiras; porém, apenas a letra B responde à pergunta realizada, uma vez que o encapsulamento é iden�ficar quais membros terão acesso restrito no momento em que forem instanciados e quais não têm essa necessidade e/ou não devem ser restritos. 2 / 2 ptsPergunta 7 Os quatro pilares da programação orientada à objetos são: Abstração, encapsulamento, herança e polimorfismo. Juntos, esses pilares representam os conceitos fundamentais deste paradigma de programação. Sobre abstração, afirma-se: I - Podemos dizer que uma classe deve abstrair um conjunto de objetos do mundo real que possuam caracterís�cas semelhantes. PORQUE II – As caracterís�cas de todos os objetos de uma mesma classe possuem os mesmos valores. A respeito dessas asserções, assinale a opção correta:As asserções I e II são proposições verdadeiras, e a II é uma jus�fica�va correta da I. As asserções I e II são proposições falsas A asserção I é uma proposição falsa e a II é uma proposição verdadeira. A asserção I é uma proposição verdadeira e a II é uma proposição falsa. Correto!Correto! As asserções I e II são proposições verdadeiras, mas a II não é uma jus�fica�va correta da I. 2 / 2 ptsPergunta 8 Assim como a abstração, o encapsulamento é também essencial na programação orientada a objetos. Ele dá segurança à aplicação, escondendo algumas propriedades e dando a impressão de uma caixa preta. Baseando-se nesse conceito, qual das opções a seguir aplica corretamente o conceito de encapsulamento? Correto!Correto! Feedback: De acordo com a Figura, somente os atributos da classe serão acessados de acordo com seus métodos. Quando os atributos são públicos, eles podem ser acessados diretamente (sem intermédio do método) e receber qualquer valor sem estar de acordo com a regra de negócio. 2 / 2 ptsPergunta 9 UML é uma linguagem que consiste em padrões de notações gráficas que acabam gerando uma representação em forma de diagramas. Na versão 2.0 da UML, existem 13 �pos diferentes de diagrama, que, por sua vez, pode ser de dois �pos: diagrama estrutural e diagrama comportamental. Dessa linguagem, um dos diagramas mais em OO é o diagrama de classes. Com base no diagrama de classes, analise as seguintes asserções: I. Modelar um problema u�lizando o diagrama de classes é uma forma de abstração. PORQUE II. Através do diagrama de classes, é possível definir a estrutura do sistema em termos de suas classes, os atributos e métodos que ela possui, e como as classes se relacionam e trocam mensagens entre si. Baseando-se nas asserções acima, qual das alterna�vas abaixo é a correta? As asserções I e II são proposições verdadeiras, e a II não é uma jus�fica�va da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições falsas. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, e a II é uma jus�fica�va da I. Correto!Correto! Feedback: Para modelar um problema, é preciso abstrair suas necessidades para que ele possua todos os itens necessários. O diagrama de classes possui uma representação única que possibilita iden�ficar tais itens, que são as classes, seus atributos e métodos, e seus relacionamentos. 2 / 2 ptsPergunta 10 O método construtor tem a função de instanciar uma classe, ou seja, ele é chamado sempre que se deseja criar um objeto que pertence a essa classe. Esse método sempre tem o nome da classe que ele instancia, podendo possuir parâmetros ou não; além disso, não tem valor de retorno. Nesta tarefa, analise o trecho de código de um construtor a seguir: Public Pessoa(String nome){ this.nome = nome; this.nome = this.nome + “teste”; System.out.println(nome); } Agora, imagine que ele será executado para a seguinte instrução: Pessoa p = new Pessoa(“Joana”); Qual das opções abaixo será exibida quando o objeto for instanciado? Ocorrerá um erro, porque existem duas variáveis com o mesmo iden�ficador. Será exibido “Joana teste” por causa da concatenação. Será exibido “Joana teste”, porque this representa passagem por referência. Será exibido “Joana”, porque não é assim que se concatena string. Será exibido apenas o nome, porque this.nome e nome são itens diferentes. Correto!Correto! Feedback: this indica que o nome é um membro da classe. Assim, mesmo que o atributo e a variável tenham o mesmo nome, isso indica que eles não são o mesmo item e, por isso, podem ter valores diferentes. 2 / 2 ptsPergunta 11 Na programação orientada a objetos, existem dois mecanismos que permitem a criação de classes, contendo apenas descrições de atributos e assinaturas de métodos, sem efe�vamente implementá-los. Essa possibilidade é ú�l para a definição de classes que nunca são instanciadas, como alguns exemplos de superclasses no relacionamento de herança. Nesse caso, a implementação dos métodos fica, por exemplo, para suas subclasses. Quais são esses mecanismos? Classes abstratas e �pos primi�vos. Classes e objetos. Superclasses e Classes Wrappers. Classes abstratas e interfaces. Correto!Correto! Interfaces e Autoboxing. Feedback: Métodos que não possuem implementação devem ser marcados como abstratos. Apenas interfaces e classes abstratas podem conter métodos abstratos. Como visto na unidade 3, tópico 3.1.2. 2 / 2 ptsPergunta 12 Leia o estudo de caso abaixo e, em seguida, marque a resposta CORRETA. Na empresa trabalhando.com, existem três grupos de funcionários: Back-end, Front-end e Administra�vo. Todos os funcionários possuem salário, nome e horas extras registradas. Cada grupo possui uma bonificação denominada bonificação X. Além disso, tanto os funcionários do back quanto do front devem par�cipar do grupo desenvolvimento Y; por isso, devem receber outra bonificação, denominada bonificação Y. Considerando que esse sistema deva ser desenvolvido em Java e os conceitos de OO aprendidos, qual é o melhor diagrama de classes UML a ser desenvolvido? Ressalta-se que as bonificações são definidas de acordo com cada �po de funcionário. Correto!Correto! Feedback: A opção E garante que apenas back-end e front-end recebam a bonificação Y, bem como que a bonificação x seja calculada de acordo com cada �po de funcionário. Por fim, é possível recuperar a remuneração (salário + bonificação) de cada funcionário, independentemente de seu �po. 2 / 2 ptsPergunta 13 Polimorfismo é um dos pilares da orientação a objetos e um mecanismo que possibilita a seleção de funcionalidades de forma dinâmica por um programa no decorrer de sua execução. Com base nesse contexto, analise as seguintes asserções: I. Sobrecarga é uma forma de polimorfismo. PORQUE II. Polimorfismo dinâmico é o princípio que possibilita que as classes filhas possam invocar os métodos da superclasse com a mesma iden�ficação e assinatura, porém podem conter comportamentos dis�ntos. Agora selecione a alterna�va que descreve as relações propostas entre elas: A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a II não é uma jus�fica�va da I. Correto!Correto! A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, e a II é uma jus�fica�va da I. As asserções I e II são proposições falsas. Feedback: Há dois �pos de polimorfismo: está�co e dinâmico. O está�co obriga que os métodos tenham nomes iguais e assinaturas diferentes; já o dinâmico, que os métodos tenham nome e assinatura iguais. A sobrecarga é um polimorfismo está�co. 2 / 2 ptsPergunta 14 Na programação orientada a objetos, existem dois mecanismos que permitem a criação de classes contendo apenas descrições de atributos e assinaturas de métodos, sem efe�vamente implementá-los: classe abstrata e interface. Nesse contexto, analise as seguintes proposições e selecione a alterna�va CORRETA. I – Uma classe abstrata pode conter tanto métodos abstratos quanto métodos completos. II – Uma classe abstrata é como uma classe comum, ou seja, contém construtores, métodos e atributos; porém, deve conter pelo menos um método abstrato. III – Uma similaridade entre classe abstrata e interface é que ambas possuem métodos abstratos. I, II e III estão corretas. I e II estão corretas. Somente I está correta. II e III estão corretas. I e III estão corretas. Correto!Correto! Feedback: Uma classe abstrata pode conter métodos e atributos, porém não pode ser instanciada. 2 / 2 ptsPergunta 15 No diagrama de classes, é possível definir a estrutura do sistema de acordo com suas classes, os atributos e métodos que ela possui e como as classes se relacionam e trocam mensagens entre si. Eles são definidos a par�rdos requisitos de um sistema. Baseando-se nos conceitos aprendidos nesta unidade, sendo eles herança, interface e encapsulamento, selecione o diagrama que melhor descreve a seguinte frase: “Todo animal tem um peso, mas os peixes nadam e os cachorros andam”. Correto!Correto! Feedback: A herança u�lizada corretamente apresenta o especificador protegido para o peso, que possibilita que o atributo possa ser u�lizado e modificado nas classes filhas, que, por sua vez, possuem suas especialidades. 2 / 2 ptsPergunta 16 A representação UML nos ajuda a entender as classes presentes em uma solução e como elas estão relacionadas. A figura a seguir representa um relacionamento entre a classe X e a classe Y. Com base nesse diagrama e no relacionamento representado, o que podemos afirmar? Assinale a opção CORRETA. Excluir a classe Y não exclui a classe X. Correto!Correto! Todos da classe Y contêm um objeto da classe X. A classe X depende da classe Y. A classe X compõe a classe Y. Se a classe Y for excluída, a classe X também será. Feedback: Essa é uma relação de composição todo-parte, ou seja, a Classe X contém elementos de Y, e Y só existe se X exis�r; porém, X existe sem Y. 2 / 2 ptsPergunta 17 O uso de interfaces é muito comum na programação orientada a objetos; portanto, devemos poder representá-lo no diagrama de classes UML. Um objeto é definido como interface nesse diagrama quando colocamos o estereó�po > antes de seu nome na sua representação. O relacionamento entre essas classes e a interface pode ser descrito como uma generalização/especificação, dependendo do ponto de vista. Analise o diagrama abaixo: Figure 2: Re�rado do livro da disciplina. Considerando-se o diagrama, é possível afirmar: A interface Funcionario é uma generalização da classe Diretor Correto!Correto! A classe Diretor é uma generalização da classe Funcionario Funcionario e Gerente possuem um relacionamento de agregação A classe Gerente é uma generalização da classe Funcionario A classe Assistente é uma generalização da classe Funcionario Feedback: A interface generaliza as classes que a implementam. As classes especializam a interface, conforme pode ser visto em 4.2.4. 2 / 2 ptsPergunta 18 Na programação orientada a objetos, a __________ acontece quando uma classe (A) instancia dentro dela um objeto ou uma lista de objetos de outra classe (B). Nesse caso, quando o objeto da classe (A) é destruído, todos os objetos instanciados nesta classe, incluindo o da classe (B), são destruídos também. Este relacionamento pode ser representado pela expressão “contém”. No caso do exemplo mencionado, podemos dizer que “a classe A contém um objeto/alguns objetos da classe B”. Em outras palavras, a instância de uma classe existente é u�lizada como componente/atributo de outra classe. Assinale a opção que preenche corretamente a lacuna no texto acima: Especificação. Agregação. Composição. Correto!Correto! Abstração. Generalização. Feedback: O texto apresentado mostra o conceito geral de composição, conforme pode ser visto em 4.1. 2 / 2 ptsPergunta 19 Os relacionamentos entre as diversas classes que compõem um sistema desenvolvido sob o paradigma orientada a objetos podem ser classificados como agregação, composição, generalização ou especialização. Sobre agregação, afirma-se: I - A relação existente na agregação também é uma relação todo-parte. PORQUE II – A classe agregada (o todo) é construída pelo conjunto de componentes (as partes). Em comparação à composição, a diferença é que a parte pode exis�r sem o todo. A respeito dessas asserções, assinale a opção correta: A asserção I é uma proposição falsa e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a II é uma jus�fica�va correta da I. Correto!Correto! A asserção I é uma proposição verdadeira e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, mas a II não é uma jus�fica�va correta da I. As asserções I e II são proposições falsas. Feedback: A agregação se dá quando uma classe (A), em seu interior possui instâncias/objetos de outra classe (B). Entretanto, esses objetos podem não exis�r para determinadas instâncias da classe A, e a classe A não deixa de exis�r por isso. Diferentemente da composição, quando um objeto da classe A é destruído, os objetos da classe B se mantêm intactos. Conforme pode ser visto em 4.2. 2 / 2 ptsPergunta 20 Herança, composição e agregação podem ser vistos como mecanismos de reu�lização de código na programação orientada a objetos. Baseando-se nesses conceitos, analise as asser�vas a seguir considerando a aplicação e definição dos mesmos. I. Geralmente, o uso de herança é mais vantajoso do que o uso de composição. II. Composição e agregação trazem a ideia de todo-parte. III. Na agregação, um objeto pode ser parte de vários objetos ao mesmo tempo. Já na composição, um objeto pode ser parte de apenas um objeto. Assinale a opção CORRETA. II e III estão corretas. Correto!Correto! I e III estão corretas. Somente III está correta. Somente I está correta. Somente II está correta. Feedback: Composição e agregação fazem uso da ideia todo-parte, porém cada um tem suas par�cularidades. A composição possui a restrição de ser “parte” de um só “todo” e, geralmente, é mais vantajoso u�lizar composição do que herança. Pontuação do teste: 40 de 40 Anterior Detalhes da úl�ma tenta�va: Tempo: 51 minutos Pontuação atual: 40 de 40 Pontuação man�da: 40 de 40 Mais 1 tenta�va disponível Fazer o teste novamente (Será man�da sua pontuação mais alta) EAD - 2022/2 - 2ª Oferta Página inicial Avisos Módulos Fóruns Notas Testes Tarefas Pessoas Colaborações Office 365 142 https://newtonpaiva.instructure.com/courses/16604 https://newtonpaiva.instructure.com/courses/16604/quizzes https://newtonpaiva.instructure.com/courses/16604/quizzes/36139 https://newtonpaiva.instructure.com/courses/16604/quizzes/36139/history?version=1 https://newtonpaiva.instructure.com/courses/16604/quizzes/36139/take?user_id=23285 https://newtonpaiva.instructure.com/courses/16604/modules/items/363048 https://newtonpaiva.instructure.com/courses/16604/quizzes/36139/take?user_id=23285 https://newtonpaiva.instructure.com/courses/16604 https://newtonpaiva.instructure.com/courses/16604/announcements https://newtonpaiva.instructure.com/courses/16604/modules https://newtonpaiva.instructure.com/courses/16604/discussion_topics https://newtonpaiva.instructure.com/courses/16604/grades https://newtonpaiva.instructure.com/courses/16604/quizzes https://newtonpaiva.instructure.com/courses/16604/assignments https://newtonpaiva.instructure.com/courses/16604/users https://newtonpaiva.instructure.com/courses/16604/collaborations https://newtonpaiva.instructure.com/courses/16604/external_tools/539 https://newtonpaiva.instructure.com/ https://newtonpaiva.instructure.com/ https://newtonpaiva.instructure.com/calendar https://newtonpaiva.instructure.com/conversations http://help.instructure.com/