ID 762196 Banca FCC Órgão TCE-AM Ano 2012 Provas FCC - 2012 - TCE-AM - Analista de Controle Externo - Tecnologia da Informação Disciplina Engenharia de Software Assuntos Orientação a Objetos Sobre a orientação a objeto é correto afirmar: Alternativas Herança permite o reaproveitamento de atributos e métodos, porém, isso não altera o tempo de desenvolvimento, não diminui o número de linhas de código e não facilita futuras manutenções. Em uma aplicação que utiliza herança múltipla, uma superclasse deve herdar atributos e métodos de diversas subclasses. Todas as linguagens de programação orientadas a objeto permitem herança múltipla. O polimorfismo associado à herança trabalha com a redeclaração de métodos previamente herdados por uma classe. Esses métodos, embora semelhantes, diferem de alguma forma da implementação utilizada na superclasse, sendo necessário, portanto, reimplementá-los na subclasse. A visibilidade protegida é representada pelo símbolo til (~) e significa que somente os objetos da classe detentora do atributo ou método poderão enxergá-lo ou utilizá-lo. Em uma relação de herança é possível criar classes gerais, com características compartilhadas por muitas classes. Essas classes não podem possuir diferenças. Responder Comentários Polimorfismo é a habilidade pela qual uma única operação ou nome de atributo pode ser definido em mais de uma classe e assumir implementações diferentes em cada uma dessas; Tipos:1)Estático: sobrecarregados(overloading)-- nome igual / argumentos diferentes;--a decisão do método a ser chamado é tomada em tempo de compilação de acordo com os argumentos passados; 2)Dinâmico: sobrescritos(overriding)-- associado ao conceito de herança;--nome e argumentos iguais;-- subclasse redefine método da superclasse;-- a decisão do método a ser chamado é tomada em tempo de execução.obs: na sobrecarga o nome do método é igual, mas há alguma diferença no tipo ou quantidade de atributos entre os métodos. Isso vai definir qual método será chamado. · Default ou package-private (privativo ao pacote): representado pelo símbolo ~ (til) e conhecido como package em UML. Não há palavra-chave associada em Java e é utilizado quando o modificador não é especificado. Ex.: o atributo CPF da classeUsuario;· private (privado): representado pelo símbolo – (menos). Ex.: o atributo nome;· protected (protegido): representado pelo símbolo # (cerquilha). Ex.: o atributo idade;· public (público): representado pelo símbolo + (mais). Ex.: o atributo RG.Leia mais em: Modelagem de Software com UML - Artigo easy Java Magazine 5 - Parte 2 http://www.devmedia.com.br/modelagem-de-software-com-uml-artigo-easy-java-magazine-5-parte-2/20461#ixzz2IBNNIypE a) Falso! Em relação ao reaproveitamento de atributos e métodos a questão esta correta, o que reduz a quantidade de linhas de código, tempo de desenvolvimento e facilita manutenções, já que tudo será reaproveitado.b) Falso! As duas afirmações estão erradas. Na herança múltipla, uma subclasse é que deve herdar atributos e métodos de diversas superclasses. E nem todas linguagens OO suportam tal característica, Java é um exemplo. Para uma linguagem ser OO basta ela suportar: encapsulamento, polimorfismo e herança.c) Verdadeiro! O primeiro trecho está correto, pois as subclasses herdam das superclasses no polimorfismo, permitindo o reaproveitamento. Porém, se um método existir na superclasse e na subclasse realmente eles serão distintos, porém sua obrigatoriedade não é absoluta na subclasse, ela pode simplesmente aproveitar o método da superclasse.d) Falso! A representação das visibilidades são as seguintes: público (+), privado (-), protegido (#). Além disso, quando algo é protegido a classe detentora e todas outras do mesmo pacote poderão enxergá-la.e) Falso! Em uma relação de herança as subclasses herdaram e compartilharam características da superclasse (classe geral). Porém, é certo que as subclasse possuíram diferenças.