Prévia do material em texto
· Pergunta 1 1 em 1 pontos “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 Selecionada: .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos diferentes. Resposta Correta: .Polimorfismo de sobrecarga permite que um método com o mesmo nome, possua comportamentos diferentes. Feedback da resposta: 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. · Pergunta 2 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. Feedback 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 3 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. · Pergunta 4 0 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: .V, F, V, F. Resposta Correta: .F, F, V, V. Feedback da resposta: Resposta incorreta: as classes mães (supertipo) sempre geram as classes filha (subtipo) com os métodos e atributos, sendo que as últimas não podem modificá-los. Por outro lado, ancestral está no topo da hierarquia e descendente abaixo da classe mãe. · Pergunta 5 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 6 1 em 1 pontos “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? Resposta Selecionada: .Usando os métodos get e set. Resposta Correta: .Usando os métodos get e set. Feedback da resposta: 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. · Pergunta 7 1 em 1 pontos “O normal em sistemas de herança é que as classes que herdam de outras incluam novas características e funcionalidades, à parte dos atributos e métodos herdados. Porém, isto não é imprescindível, de modo que podem se criar objetos que herdem de outros e não incluam nadanovo. [...] 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”. (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.). Os conceitos que envolvem orientação a objetos e herança devem ser muito bem compreendidos, pois muitas vezes podem gerar certa confusão. Neste sentido, quando são criadas as heranças, existe uma relação hierárquica entre as classes. Assinale a ordem correta da relação entre as classes em um processo de herança: Resposta Selecionada: .Ancestral > Tipo > Subtipo > Descendente. Resposta Correta: .Ancestral > Tipo > Subtipo > Descendente. Feedback da resposta: Resposta correta. Os conceitos que são pertinentes às heranças em orientação aos objetos devem seguir uma determinada ordem hierárquica que é dada por ancestral, tipo, subtipo e descendente. Ou seja, é necessário ficar clara as nomenclaturas relativas às heranças, pois quando se efetua a herança, existe uma relação de hierarquia entre as classes herdadas e as que herdam os métodos e atributos. · Pergunta 8 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 9 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. 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 ”. (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.). É possível compreender que os objetos concentram os métodos e atributos e são instanciados nas classes. Neste sentido, o polimorfismo é um conceito central na orientação a objetos. O que é polimorfismo? Resposta Selecionada: .Quando objetos criados sejam da mesma classe mãe, eles podem se comportar de maneira diferente. Resposta Correta: .Quando objetos criados sejam da mesma classe mãe, eles podem se comportar de maneira diferente. Feedback da resposta: Resposta correta. Seguindo as premissas em orientação a objeto, e em um conceito geral, polimorfismo significa várias formas. Ou seja, mesmo que os objetos criados sejam da mesma classe mãe, eles podem se comportar de alguma maneira diferente. · Pergunta 10 1 em 1 pontos “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 Selecionada: .II e V. Resposta Correta: .II e V. Feedback da resposta: Resposta correta. Na orientação a objeto, apesar de inúmeras vantagens, existem algumas desvantagens. Neste caso da utilização da herança, as desvantagens percebidas é que quando utilizamos herança, enfraquecemos o conceito de encapsulamento e geramos um forte acoplamento.