Prévia do material em texto
Usuário MAURICIO DOS SANTOS ALVES Curso GRA0241 PROGRAMAÇÃO ORIENTADA A OBJETOS GR2593211 - 202110.ead-29778864.06 Teste ATIVIDADE 3 (A3) Iniciado 18/03/21 22:12 Enviado 18/03/21 22:48 Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido 35 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Resposta Correta: Comentário da resposta: “O software orientado a objeto é um software constituído de objetos e das classes para as quais eles pertencem. Um objeto é uma construção de software na qual operações (que são semelhantes a funções ou procedimentos) são organizados em torno de um conjunto de variáveis (que funcionam como dados).”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML .. São Paulo: Makron Books, 2001. p. 50.) É fundamental compreender os fundamentos de orientação a objeto e construção das classes e as práticas utilizadas. É chamada de “boa prática” quando se executa uma ordem clara e coerente já adotada e aceita pelo mercado de desenvolvedores. Neste sentido, sendo considerada uma boa prática, a elaboração de uma classe compreende uma ordem das palavras- chave. Esta ordem é: .Atributos da classe > Definição da classe > Construtores > Métodos. .Definição da classe > Atributos da classe > Construtores > Métodos. Sua resposta está incorreta. Segundo os fundamentos de orientação a objeto, deve existir uma ordem considerada uma boa prática de programação. A ordem correta é a definição da classe, após a declaração dos atributos da classe, após a declaração dos construtores e, por fim, a declaração dos Métodos. Pergunta 2 Resposta Selecionada: Resposta Correta: “Outro exemplo de polimorfismo seria se tivéssemos [uma determinada classe], em que se pudesse apontar para um objeto destinatário das classes filhas, ou para várias outras, então provavelmente seríamos obrigados a escolher para o nome da classe do objeto destinatário a classe mais alta de todas., sendo considerada a classe mãe ou supertipo”. (PAGE-JONES, M.Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 144.). Portanto, podemos compreender, a partir da citação acima, que o uso de polimorfismo requer uma análise de todos os objetos envolvidos na estrutura de código do programa. Neste sentido, o que significa o polimorfismo de inclusão? .É a capacidade de substituição de métodos possíveis devido ao uso de herança. 0 em 1 pontos 1 em 1 pontos Comentário da resposta: .É a capacidade de substituição de métodos possíveis devido ao uso de herança. Resposta correta. Seguindo os fundamentos de orientação a objeto, o polimorfismo de inclusão quer dizer que é possível substituir os métodos devido ao uso de herança, sendo esta uma prática de boa utilização do código. Pergunta 3 Resposta Selecionada: Resposta Correta: Comentário da resposta: “A linguagem Java de fato sustenta unicamente a herança simples no sentido da ‘habilidade de herdar’, que é a forma como se descreve herança. Isso significa que se tem acesso a todas as operações (métodos de Java); Em outras palavras, por meio da construção ‘estende’, não só se herda a interface como também a sua habilidade – o código quer faz com que a interface trabalhe”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 55.). Nem sempre o uso dos princípios de orientação a objeto gera vantagens. Indique abaixo quais as desvantagens de se usar a herança em orientação a objeto? I. Quando utilizamos herança, enfraquecemos o conceito de associação. II. Quando utilizamos herança, enfraquecemos o conceito de encapsulamento. III. Quando utilizamos herança, geramos um fraco acoplamento. IV. Quando utilizamos herança, enfraquecemos o conceito de polimorfismo. V. Quando utilizamos herança, geramos um forte acoplamento. É correto o que se afirma em: .II e V. .II e V. Resposta correta. Na orientação a objeto, apesar de inúmeras vantagens, existem algumas desvantagens. Neste caso da utilização da herança, as desvantagens percebidas é que quando utilizamos herança, enfraquecemos o conceito de encapsulamento e geramos um forte acoplamento. Pergunta 4 Resposta Selecionada: Resposta Correta: Comentário da resposta: “A palavra reservada class informa que estamos criando uma Classe. O papel da classe é reunir as características e comportamentos comuns dos objetos. Na programação utilizamos o mesmo conceito. A classe pode ter diversas funções que pesquisam em múltiplas tabelas, mas em comum dividem o mesmo propósito e pode acontecer também de trabalharem com as mesmas variáveis (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica, Fortaleza, v. 3, n. 1, 2014.). No universo de orientação a objeto, existem diversos conceitos que são de fundamental importância. Neste sentido, o uso da anotação @Override não é obrigatório. Porém, se colocarmos o método com @Override, o que é necessário executar? .Esse método, necessariamente, precisa reescrever um método existente na classe mãe. .Esse método, necessariamente, precisa reescrever um método existente na classe mãe. Resposta correta. Apesar de não ser obrigatório, quando se aplica a notação@Override, esse método necessariamente precisa reescrever um método existente na classe mãe. Pergunta 5 “A herança representa um caminho muito importante no qual a orientação a objeto diverge das 1 em 1 pontos 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: Resposta Correta: Comentário da resposta: abordagens dos sistemas convencionais. Ela efetivamente permite que você construa de forma incrementada tratando classes herdadas. Primeiro é necessário construir classe para lidar com o caso mais geral. Em seguida, a fim de tratar com os casos especiais, acrescentam-se classes mais especializadas – herdadas da primeira classe”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 32.). Portanto, podemos compreender a importância dos diversos tipos de sistemas de informação e a sua relação no contexto organizacional. Como é possível as classes herdadas acessar as informações da classe mãe se ela é definida como private? .Usando os métodos get e set. .Usando os métodos get e set. Resposta correta. Pelos fundamentos da linguagem Java, os métodos gete set permitem acessar as informações da classe mães, mesmo se ela estiver declarada como private. Pergunta 6 Resposta Selecionada: Resposta Correta: Comentário da resposta: “Polimorfismo é um termo grego que significa muitas formas (poli: muitas, morphos: formas). Na programação é o mesmo que dizer que várias classes podem possuir a mesma estrutura e comportamentos diferentes. Ao utilizar herança não apenas podemos reutilizar métodos da classe pai, como também podemos sobrescrever os métodos da classe pai, fazendo assim com que algumas características sejam modificadas. Basicamente, por exemplo podem ser criados métodos com o mesmo nome, sendo que só é preciso ter a assinatura/conteúdo diferentes.”. (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica , Fortaleza, v. 3, n. 1, 2014.). O polimorfismo é uma técnica largamente utilizada em orientação a objeto. Neste sentido, existem três formas de aplicar o Polimorfismo. Quais são? I. Sobrecarga. II. Exclusão. III. Sobreposição. IV. Redundância. V. Inclusão. É correto o que se afirma em: .I, III e V. .I, III e V. Resposta correta. Pelos fundamentos da orientação a objeto, as formas corretas de se aplicar o polimorfismo são a sobrecarga, a sobreposição e a inclusão, que acoplam os fundamentos de polimorfismo. Pergunta 7 “A orientação a objetos é uma maneira de programar que trata de modelar os processos de programação de uma maneira próxima à realidade: tratando a cadacomponente de um programa como um objeto com suas características e funcionalidades. Também conhecida pelas iniciais POO , a Programação Orientada a Objetos torna-se progressivamente um modelo seguido pelos desenvolvedores de diversas linguagens”. (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica , Fortaleza, v. 3, n. 1, 2014.). A orientação a objeto introduziu no universo do desenvolvimento de softwares 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: Resposta Correta: Comentário da resposta: diversos novos conceitos, entre eles o de herança. Neste sentido, quais as afirmativas abaixo são falsas ou verdadeiras sobre herança? I. ( ) A classe mãe herda da classe filha os métodos e atributos. II. ( ) Na herança são herdados os dados contidos nos atributos. III. ( ) Na hierarquia das classes, a classe ancestral aparece antes da classe mãe. IV. ( ) Raiz é denominada o topo da hierarquia das classes sem subclasse. V. ( ) O objetivo da herança é juntar tudo que for igual e isolar aquilo que é diferente. Agora, assinale a alternativa que apresenta a sequência correta. .F, F, V, V, V. .F, F, V, V, V. Resposta correta. É correto afirmar na orientação a objeto que quem herda é a classe filha, e não a classe mãe. Além disto, os dados não são herdados, sendo que a classe ancestral é a primeira da hierarquia, além disto, a raiz é o topo das classes. O objetivo da herança é aglutinar as funções. Pergunta 8 Resposta Selecionada: Resposta Correta: Comentário da resposta: “A herança também é, às vezes chamada de relacionamento do tipo ‘é um’. A razão é que uma subclasse é uma especialização de uma superclasse. A s classes que herdam são referidas como classes-filhas ou subclasses.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . Editora Pearson Prentice Hall. São Paulo, 2004. p. 208.). A orientação a objetos contém diversas nomenclaturas que devem estar muito claras para os desenvolvedores. Neste sentido, analise os conceitos fundamentais de herança na orientação a objeto a seguir e associe-os com suas respectivas definições. (1) Ancestral. (2) Subtipo. (3) Superclasse. (4) Descendente. ( ) Toda classe que aparecer abaixo da superclasse. ( ) Classe que está na hierarquia acima da superclasse. ( ) Classes que herdam de outras classes. ( ) Classes que fornecem a herança. Agora, assinale a alternativa que apresenta a resposta correta. .4, 1, 2, 3. .4, 1, 2, 3. Resposta correta. Superclasse, mãe ou tipo são as classes que fornecem a herança. Já as classes que herdam de outras classes podem ser chamadas de subclasse, filha ou subtipo. Ancestral é a classe que aparece na hierarquia de classes, em uma posição acima da classe mãe. Descendente significa toda classe que aparecer abaixo da classe mãe, em sua hierarquia. Pergunta 9 “Classes servem de modelo para a criação dos objetos, é onde é definida toda a estrutura e comportamento de um objeto. Os objetos então são gerados a partir de classes. A identificação de um objeto ocorre segundo suas características(atributos) e comportamentos(métodos). Na modelagem de sistemas, um objeto é qualquer coisa existente no mundo real. Atributos é como são chamadas as características ou propriedades de um objeto. Estes identificam o estado de um 1 em 1 pontos 1 em 1 pontos Quinta-feira, 18 de Março de 2021 22h48min29s BRT Resposta Selecionada: Resposta Correta: Comentário da resposta: objeto e representam uma abstração do tipo de dados do mesmo, e conforme aumenta o número de atributos, mais fácil é de identificar este objeto.”. (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica, Fortaleza, v. 3, n. 1, 2014.). É fundamental conhecer os conceitos e definições de orientação a objeto, principalmente as palavras chave. Quais as definições abaixo compõem as definições das classes em orientação a objeto? I. Public. II. Procedure. III. Private. IV. Section. V. Class. É correto o que se afirma em: .I, III e V. .I, III e V. Resposta correta. As palavras reservadas Private, Public e Class são utilizadas na construção de uma classe na orientação a objeto. Pergunta 10 Resposta Selecionada: Resposta Correta: Comentário da resposta: “Chamadas de método em Java são polimórficas. A mesma chamada de método pode, em momentos diferentes, invocar diferentes métodos, dependendo do tipo dinâmico da variável utilizada para fazer esta chamada. Uma variável polimórfica é uma que pode armazenar objetos de diferentes tipos (cada variável objeto em Java é potencialmente polimórfica).” (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . Editora Pearson Prentice Hall. São Paulo, 2004. p. 264). O polimorfismo na orientação a objetos pode assumir diferentes comportamentos. Como se apresenta o polimorfismo na forma de sobrecarga? .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos diferentes. .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos diferentes. Resposta correta. É correto compreender que, nas notações de orientação a objeto, o polimorfismo de sobrecarga permite que um método com o mesmo nome, possuam comportamentos diferentes. Ou seja, tanto polimorfismo quanto herança são referências de reutilização de código, pois trabalham em conjunto. Existem dois tipos de polimorfismo que são conhecidos como sobrecarga e sobreposição. 1 em 1 pontos