Baixe o app para aproveitar ainda mais
Prévia do material em texto
O polimorfismo é implementado de muitas formas dentro da linguagem de programação Java, sendo que uma das mais utilizadas é a criação e a implementação de interfaces. Considerando a criação e a utilização de interfaces dentro da linguagem de programação Java, analise o código fonte da figura a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12. ( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia. ( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o método gerarChaveCripto(Date data). ( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - V. B V - V - F - V. C V - V - F - F. D F - V - F - F. Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e comportamentos já implementados em outras classes sem a necessidade de realizar a cópia de código-fonte. Com relação a esse conceito, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super. ( ) A implementação de herança múltipla em Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives". ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - V. B V - F - F - V. C F - V - F - V. D V - V - V - F. Através do encapsulamento, é possível deixar o software mais manutenível, através da centralização de responsabilidades, ocultação de implementação e exposição de interfaces. Com relação ao encapsulamento e sua implementação na linguagem de programação Java, analise as sentenças a seguir: I- Atributos também podem ser ocultados, no sentido de garantir um maior encapsulamento. II- O modificador default permite o acesso padrão a todos dentro da mesma aplicação. III- Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte. IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso 1 2 3 protected. Agora, assinale a alternativa CORRETA: A Somente a sentença II está correta. B As sentenças III e IV estão corretas. C Somente a sentença IV está correta. D As sentenças I e III estão corretas. O Polimorfismo de inclusão permite que se defina um novo comportamento para um objeto sem que se faça alterações nos que já estão funcionando, minimizando consideravelmente os custos e reduzindo o tempo para novas implementações. Considerando que a figura a seguir traz duas classes relacionadas a uma interface, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O método encript() da interface é implicitamente abstrato. ( ) Na linguagem de programação Java, demonstraríamos que SHA implementa IAlgoritmoCriptografia através da palavra reservada extends. ( ) Um método existente em outra classe cuja assinatura seja “public void criptografar(IAlgoritmoCriptografia iac)” pode receber como parâmetro tanto um objeto da classe SHA quanto um objeto da classe DES. ( ) Podemos dizer que tanto SHA quanto DES implementam IAlgoritmoCriptografia. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - V. B V - F - V - V. C V - V - F - F. D V - V - F - V. Em combinação com a definição de pacotes e classes, os modificadores de visibilidade constituem-se de uma ferramenta poderosa na definição da segurança e encapsulamento da aplicação. Com relação à utilização de modificadores de visibilidade na linguagem de programação Java, analise as sentenças a seguir: I- Um método com modificador default contido em uma classe pública não pode ser acessado em uma classe disponível em outro pacote. II- Um método com modificador public contido em uma classe pública somente pode ser acessado por uma classe disponível em outro pacote através do comando import. III- Uma classe com modificador default pode ser acessada por uma classe de outro pacote com o comando import. IV- Um método private colocado em uma classe com o modificador default não pode ser acessado por outra classe dento do mesmo pacote. Agora, assinale a alternativa CORRETA: A Somente a sentença IV está correta. B As sentenças I, II e IV estão corretas. C Somente a sentença II está correta. D As sentenças II e III estão corretas. 4 5 O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou operação, e outra classe, abstrata, possui um método com mesmo nome dos métodos das classes anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas), executando a operação correta. Conforme exemplificado, a implementação de polimorfismo pode ocorrer através de uma classe abstrata, cujos métodos são declarados, mas não definidos. Com relação ao código-fonte a seguir e ao polimorfismo da orientação a objetos, assinale a alternativa CORRETA: A As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o caminhão...." e depois "Acelerando o carro....". B Não existe polimorfismo implementado entre as classes do código-fonte apresentado. C Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas linhas 19 e 20 são inválidas, pois recebem a instância de classes de outro tipo ("Carro" e "Caminhao"). D A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o carro...." e depois "Acelerando o caminhão....". A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser colocados na frente de classes, atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA: A O modificador private permite o acesso somente dentro do mesmo pacote. B Um método com o modificador public não faz sentido em uma classe com o modificador default. C O modificador default permite o acesso padrão a todos dentro da mesma aplicação. D O modificador public não pode ser usado na frente de atributos. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de programação orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo implementa a interface FormaGeometrica. 6 7 8 Agora, assinale a alternativa CORRETA: A As sentenças II e III estão corretas. B Somente a sentença II está correta. C Somente a sentença I está correta. D As sentenças I e II estão corretas. A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na definição de relacionamentos de herança e, consequente, reutilização e extensão de estado e comportamento. Com relação às classes abstratas da linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato. ( ) Uma classe abstrata não pode possuir métodos concretos. ( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteraçãoem suas subclasses. ( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - F. B V - V - F - V. C V - F - F - V. D V - V - F - F. Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, mecanismo que permite que duas ou mais classes derivadas de uma mesma superclasse possam criar e/ou invocar métodos com a mesma assinatura, mas com comportamentos diferentes. Com relação ao conceito de polimorfismo e sua implementação na linguagem Java, analise as afirmativas a seguir: I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de tipos de polimorfismo. II- O Java não permite a implementação do polimorfismo paramétrico. III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois métodos com o mesmo nome, o mesmo retorno e o mesmo conjunto de argumentos, mas com uma lógica diferente. IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. 9 10 Agora, assinale a alternativa CORRETA: A As afirmativas II, III e IV estão corretas. B As afirmativas II e IV estão corretas. C As afirmativas I e IV estão corretas. D Somente a afirmativa I está correta.
Compartilhar