Baixe o app para aproveitar ainda mais
Prévia do material em texto
Atividade 3 - Programação Orientada a Objetos 1 - “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 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: I, III e V 2 - “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: V, V, F, F, V 3 - “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 peça monolítica; devemos separá-lo em partes, concentrando-nos nas peças mais importantes e ignorando os detalhes, para podermos construir peças bem-definidas que possam ser reaproveitadas mais tarde, formando uma estrutura hierárquica.”. (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 do conceito e aplicação do conceito de abstração na orientação a objeto, onde são criadas classes abstratas. Neste sentido, qual seria o oposto de uma classe abstrata? Resposta: Classe concreta. 4 - “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: Sobrecarga ocorre quando uma classe pode conter mais de um construtor ou mais de um método do mesmo nome. 5 - “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: Resposta: II e V 6 - “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: Esse método, necessariamente, precisa reescrever um método existente na classe mãe 7 - “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: Extends 8 - 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: Definição da classe > Atributos da classe > Construtores > Métodos. 9 - 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çãoacima, 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: É a capacidade de substituição de métodos possíveis devido ao uso de herança. 10 - 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: 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.
Compartilhar