Buscar

Orientação a Objetos e seus Conceitos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

“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 correta. .F, F, V, V, V. É 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.
“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 correta. .Classe concreta.A classe abstrata seria o contrário da classe concreta. Uma classe abstrata serve como modelo para uma classe concreta, sendo que as classes concretas são utilizadas para gerar um determinado objeto
“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 incorreta. O polimorfismo de inclusão não compreende os atributos e nem se relaciona aos casos de sobrecarga ou sobrescrita.
“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 correta. .Esse método, necessariamente, precisa reescrever um método existente na classe mãe. 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.
“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?
Resposta correta. .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos diferentes. É 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.
“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 incorreta: Nos fundamentos de orientação a objeto o correto é afirmar que o polimorfismo é sempre da classe mãe para a classe filha, e não o contrário, e ocorre sempre sobre os métodos, não sobre os atributos, pois estes são os princípios fundamentais das linguagens orientadas a objeto.
“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 correta. .I, III e V.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.
“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 implementamuitas 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 correta. .V, V, F, F, V.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.
“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 correta. . Extends. 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.
“Quando falamos em herança, a primeira imagem que nos aparece na memória é a de uma árvore genealógica com avós, pais, filhos e nas características que são transmitidas geração após geração. O que deve ser levado em consideração sobre herança em orientação a objetos é o compartilhamento de atributos e comportamentos entre as classes de uma mesma hierarquia (árvore).”. (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, 2014.).
Pelo enunciado, podemos compreender uma definição abrangente de herança na orientação a objeto. Neste sentido, qual o conceito fundamental de herança na orientação a objeto?
Resposta incorreta. A classe mãe que gera a classe filha, e não o contrário. Constrói-se a classe filha a partir da mãe, e não mãe. Constrói-se a classe com atributos e métodos e não somente atributos ou métodos.

Continue navegando