Prévia do material em texto
Usuário xxx Curso xxx PROGRAMAÇÃO ORIENTADA A OBJETOS xxx - xxx.xxx Teste ATIVIDADE 3 (A3) Iniciado xxx Enviado xxx Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido xxx Resultados exibidos Respostas enviadas, Respostas corretas, Comentários • Pergunta 1 0 em 1 pontos “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 cada componente 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 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. Resposta Selecionada: .F, V, V, V, V. Resposta Correta: .F, F, V, V, V. Feedback da resposta: Resposta incorreta. Nos fundamentos de orientação a objeto quem herda é a classe filha, e não a classe mãe. Além desta afirmativa, os dados não são herdados e A classe ancestral é a primeira da hierarquia e a raiz é o topo das classes. Conclui-se que o objetivo da herança é aglutinar as funções. • Pergunta 2 1 em 1 pontos “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 é: Resposta Selecionada: .Definição da classe > Atributos da classe > Construtores > Métodos. Resposta Correta: .Definição da classe > Atributos da classe > Construtores > Métodos. Feedback da resposta: Resposta correta. Seguindo os princípios da boa prática, 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 3 1 em 1 pontos “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. No paradigma de orientação a objetos se prega o conceito da "abstração". Para construir um sistema orientado a objetos, não devemos projetar o sistema como sendo uma grande pela monolítica.”. (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.). Podemos compreender que a herança associa-se ao polimorfismo, que na orientação a objetos pode assumir diferentes comportamentos. Como se apresenta o polimorfismo na forma de sobreposição? Resposta Selecionada: .Polimorfismo de sobreposição significa que as classes filhas possuem o mesmo método da sua classe mãe, sendo que irá sobrepor o método da classe mãe. Resposta Correta: .Polimorfismo de sobreposição significa que as classes filhas possuem o mesmo método da sua classe mãe, sendo que irá sobrepor o método da classe mãe. Feedback da resposta: Resposta correta: O polimorfismo de sobreposição compreende que as classes filhas irão possuir o mesmo método da sua classe mãe e irá sobrepor o método da classe mãe. Ou seja, o Polimorfismo de sobreposição acontece na herança quando a subclasse sobrepõe o método original. Então, o método se dá em tempo de execução e não mais em tempo de compilação. • Pergunta 4 1 em 1 pontos “Também conhecida pelas iniciais POO , a Programação Orientada a Objetos torna- se progressivamente um modelo seguido pelos desenvolvedores de diversas linguagens. Algumas na verdade exigem que seja feito assim. Na POO o código é divido em pequenos blocos de procedimentos bastante específicos. Eles são chamados de objetos. O encadeamento das ações disparadas pelos objetos é que faz o programa funcionar.”. (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.). Podemos compreender a importância dos princípios fundamentais de orientação a objeto, a sua estrutura e arquitetura de classes. Neste sentido, qual o sentido de sobrecarga em orientação a objeto? Resposta Selecionada: .Sobrecarga ocorre quando uma classe pode conter mais de um construtor ou mais de um método do mesmo nome. Resposta Correta: .Sobrecarga ocorre quando uma classe pode conter mais de um construtor ou mais de um método do mesmo nome. Feedback da resposta: Resposta correta. Pelos fundamentos de orientação a objeto e bases da hereditariedade e polimorfismo, na herança da orientação a objeto a sobrecarga ocorre quando uma classe agrega mais de um construtor ou mais de um método do mesmo nome. • Pergunta 5 1 em 1 pontos “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? Resposta Selecionada: .Esse método, necessariamente, precisa reescrever um método existente na classe mãe. Resposta Correta: .Esse método, necessariamente, precisa reescrever um método existente na classe mãe. Feedback da resposta: 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 6 1 em 1 pontos “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 identificamo estado de um 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: Resposta Selecionada: .I, III e V. Resposta Correta: .I, III e V. Feedback da resposta: Resposta correta. As palavras reservadas Private, Public e Class são utilizadas na construção de uma classe na orientação a objeto. • Pergunta 7 1 em 1 pontos “A linguagem Java apoia a herança simples, mas não a múltipla. Isso porque uma classe estende, no máximo, para outra classe. Todavia, uma classe potencialmente implementa muitas interfaces.”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML . São Paulo: Makron Books, 2001. p. 50.) Podemos compreender a questão da herança na orientação a objeto. Neste sentido, temos agregados à herança os conceitos de sobrecarga e sobrescrita. Dentre as afirmativas abaixo, quais são verdadeiras e quais são falsas? I. ( ) Os métodos existentes na classe mãe talvez não se adéquem a todas as classes filhas. II. ( ) @override nas classes filhas realiza uma sobrescrita do método herdado. III. ( ) Na herança, os tipos de retorno podem ser modificados nas sobrescritas. IV.( ) Na herança, os tipos de retorno não podem ser modificados na sobrecarga. V. ( ) Sobrecarga cria métodos com o mesmo nome, mas cada método recebe parâmetros diferentes. Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: .V, V, F, F, V. Resposta Correta: .V, V, F, F, V. Feedback da resposta: Resposta correta. A opção III é falsa, pois na herança os tipos de retorno não podem ser modificados na sobrescrita. A opção IV é falsa, pois na herança, os tipos de retorno podem ser modificados na sobrecarga. Na opção I, os métodos realmente podem não se adequar a todas as classes subtipo, sendo que o override executa uma sobrescrita do método do qual foi herdado. • Pergunta 8 1 em 1 pontos “Então, basicamente, a herança é um processo pelo qual os objetos podem herdar as características de outros, de modo que se podem fazer objetos especializados, baseados em outros mais gerais. A herança é um dos mecanismos fundamentais da programação orientada a objetos. Por meio da herança, podem se definir classes a partir da declaração de outras classes. As classes que herdam incluem os métodos como as propriedades da classe a partir da qual estão definidos.”. (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. 1, n. 3. v. 1, 2014). É possível compreender que quando utilizamos herança, significa utilizar de um mecanismo para construir uma classe com seus atributos e métodos. Neste sentido, qual a palavra-chave utilizada modelagem de uma classe herdada? Resposta Selecionada: . Extends. Resposta Correta: .Extends. Feedback da resposta: Resposta correta. Na linguagem Java, e em algumas outras linguagens, quando se faz o uso da palavra-chave extends, geramos uma classe em que serão herdados todos os métodos e atributos da classe mãe. • Pergunta 9 1 em 1 pontos “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: Resposta Selecionada: .I, III e V. Resposta Correta: .I, III e V. Feedback da resposta: 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 10 1 em 1 pontos “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? Resposta Selecionada: .É a capacidade de substituição de métodos possíveis devido ao uso de herança. Resposta Correta: .É a capacidade de substituição de métodos possíveis devido ao uso de herança. Feedback da resposta: 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.