Prévia do material em texto
· Pergunta 1 1 em 1 pontos “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 Orientada a 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: Resposta Selecionada: .F, F, V, V. Resposta Correta: .F, F, V, V. Comentário da resposta: 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. · Pergunta 2 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. Comentário 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 3 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. Comentário 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 4 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. Comentário 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. · Pergunta 5 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. Comentário 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 6 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. Comentário 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 7 1 em 1 pontos “A herança também é, às vezes chamada de relacionamento do tipo ‘é um’. Arazã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. Resposta Selecionada: .4, 1, 2, 3. Resposta Correta: .4, 1, 2, 3. Comentário da resposta: 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 8 1 em 1 pontos “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? Resposta Selecionada: .A classe que herda os atributos e métodos combinados das suas classes mãe. Resposta Correta: .A classe que herda os atributos e métodos combinados das suas classes mãe. Comentário da resposta: Resposta correta. Segundo os fundamentos de orientação a objeto, este método é utilizado quando uma classe filha herde mais de uma classe mãe, ou seja, ela herda os atributos e métodos combinados de todas as suas classes mãe. · Pergunta 9 1 em 1 pontos “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 Selecionada: .Classe concreta. Resposta Correta: .Classe concreta. Comentário da resposta: Resposta correta. 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 · Pergunta 10 0 em 1 pontos “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 Selecionada: .Herança é construir uma classe com seus métodos, chamada de classe mãe, que permite que outras classes, chamadas classe filhos, herdem todos os seus atributos e métodos. Resposta Correta: .Herança é construir uma classe filha com atributos e métodos herdados da chamada de classe mãe, permitindo que as classes filhas herdem todos os seus atributos e métodos. Comentário da resposta: 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.