Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. “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. .F, F, V, F, V. ✓ .F, F, V, V, V. .V, F, F, V, V. .F, V, V, V, F. .F, V, 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. 2. “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 é: .Definição da classe > Métodos > Construtores > Atributos da classe. .Definição da classe > Construtores > Atributos da classe > Métodos. .Atributos da classe > Definição da classe > Construtores > Métodos. ✓ .Definição da classe > Atributos da classe > Construtores > Métodos. .Construtores > Atributos da classe > Definição da classe > Métodos. 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. 3. “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, 3, 2. ✓ .4, 1, 2, 3. .3, 2, 1, 4. .2, 1, 3, 4. .1, 3, 4, 2. 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. 4. “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 atributo com o mesmo nome, possua comportamentos iguais. ✓ .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos diferentes. .Polimorfismo de sobrecarga permite que um atributo com nome diferente, possua comportamentos diferentes. .Polimorfismo de sobrecarga permite que um método com nome diferent e, possua comportamentos iguais. .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos iguais. 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. 5. “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. .F, V, F, F, V. ✓ .V, V, F, F, V. .V, V, V, F, F. .F, V, V, F, V. .V, F, F, F, V. 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. 6. “As classes em Programação orientada a objetos (POO) são definições dos elementos que formam um sistema, neste caso, definições dos objetos que vão intervir em nossos programas. Um objeto se define indicando que propriedades e funcionalidades têm. Justamente essas declarações são o que é uma classe. Quando se faz uma classe simplesmente se especifica que propriedades e funcionalidades têm.” (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientadaa objetos. Revista Científica Semana Acadêmica, Fortaleza, v. 3, n. 1, 2014.). Quando se programa em orientação a objetos é fundamental ter domínio sobre os conceitos fundamentais, como classe e as suas nomenclaturas quando se trata de herança. Neste sentido, quais as afirmativas abaixo são falsas ou verdadeiras com relação à hierarquia entre as classes? I. ( ) Superclasse é a classe que recebe as heranças. II. ( ) Classes filhas podem remover atributos e métodos da sua classe mãe. III. ( )Ancestral é a classe que aparece na hierarquia na posição acima da classe mãe. IV. ( ) Descendente é toda classe que aparecer abaixo da classe mãe. É correto o que se afirma em: ✓ .F, F, V, V. .F, V, F, V. .V, V, V, F. .V, F, V, F. .V, V, F, F. Resposta correta. Segundo os fundamentos de hierarquia em orientação a objeto, a superclasse, que é a classe mãe, gera as classes filhas que herdam os atributos e métodos, sendo que as classes filhas não podem remover os atributos e métodos herdados. 7. “Em geral, você pode fazer distinção entre os dois principais propósitos do uso da herança: podemos utilizá-la para herdar o código (herança de código) e podemos utilizá-la para herdar o tipo (subtipagem). O primeiro aspecto é útil para reutilização de código, o segundo para polimorfismo e especialização. Quando herdamos de (‘estendemos’) classes concretas, realizamos as duas coisas: herdamos a implementação e o tipo”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. Editora Pearson Prentice Hall. São Paulo, 2004. p. 276) É possível compreender a utilização de herança como uma forma de programação de nível mais elevado de abstração. Neste sentido, o que são heranças múltiplas? .A classe que herda os atributos e métodos combinados das suas classes filho. .A classe que herda os atributos e métodos combinados das suas classes descendentes. .A classe que herda os atributos e métodos combinados das suas classes subtipo. ✓ .A classe que herda os atributos e métodos combinados das suas classes mãe. .A classe que herda os atributos e métodos combinados das suas classes subclasse. Resposta correta. Nas heranças que fazem parte da orientação a objeto, somente existe herança múltipla quando uma classe filha herda mais de uma classe mãe, não da classe filho, subtipo, subclasse ou descendente, conforme foi descrito. 8. “A herança representa um caminho muito importante no qual a orientação a objeto diverge das 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 void e int. .Usando o método Override. ✓ .Usando os métodos get e set. .Usando os métodos integer e double. .Usando o método public. Resposta correta. Pelos fundamentos da linguagem Java, os métodos get e set permitem acessar as informações da classe mães, mesmo se ela estiver declarada como private. 9. “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? .Sobrecarga ocorre quando uma classe pode conter mais de um atributo de nome diferentes. .Sobrecarga ocorre quando uma classe pode conter mais de um construtor ou mais de um método de nomes diferentes. ✓ .Sobrecarga ocorre quando uma classe pode conter mais de um construtor ou mais de um método do mesmo nome. .Sobrecarga ocorre quando uma classe pode conter somente um construtor ou um método do mesmo nome. .Sobrecarga ocorre quando uma classe pode conter mais de um atributo do mesmo nome. 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. 10. “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? . double. ✓ . Extends. . Class. . Public. . Private. 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.
Compartilhar