Questões Comentadas APOO, OO, Coesão e Acoplamento

Documentos relacionados
Exercícios Comentados UML e Casos de Uso

DIAGRAMAS DE CLASSE UML

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Classes e Objetos. Sintaxe de classe em Java

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Requisitos de sistemas

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

O PARADIGMA ORIENTADO POR OBJETOS

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Capítulo 2. Orientação a Objetos

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Modelagem Orientada a Objeto

Programação Orientada a Objetos

Capítulo 5 Modelação do Sistema 1

Introdução ao Java. Prof. Herbert Rausch Fernandes

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Orientação a objetos. Objetos ou Instâncias I

Orientação a Objetos (OO)

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Fundamentos de Orientação à objetos

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Modelo do Mundo Real. Abstração. Interpretação

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Introdução a UML (Unified Modeling Language)

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Factory Pattern. SISMO - Sistemas e Mobilidade Junho de Departamento de Informática / UFMA

Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Unidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior

Levantamento, Análise e Gestão Requisitos. Aula 03

Análise de Sistemas 4º Bimestre (material 3)

UML (Unified Modelling Language)

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Análise de Sistemas 3º Bimestre (material 2)

Linguagem de Programação III

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Visões Arquiteturais. Visões Arquiteturais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Introdução à Análise e Projeto de Sistemas

Polimorfismo. O que é polimorfismo?

Como Modelar com UML 2

Programação Java (nível intermediário) 4. Polimorfismo

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Conceitos de Programação Orientada a Objetos

Classe Abstrata e Interface

UML. Diagrama de Classe

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

Daniel Wildt

Aula 2 Princípios Básicos da Orientação a Objetos (Parte II)

Programação por Objectos. Java

RUP Unified Process. Profª Jocelma Rios

Linguagem de Programação I Apresentação da Disciplina

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Java para Desktop. Programação Orientada à Objetos 2 JSE

Desenvolvimento de Aplicações Desktop

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

CONCEITOS BÁSICOS E MODELO DE PROJETO

9 Classes Abstractas e Interfaces

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Transcrição:

2012 Questões Comentadas APOO, OO, Coesão e Acoplamento LhugoJr Versão 0.8 29/11/2012

Introduça o Vale ressaltar que alguns comentários sobre as questões foram retiradas das seguintes fontes: TECNOLOGIA DA INFORMAÇÃO - QUESTÕES COMENTADAS CESPE/UNB - http://www.dominandoti.com.br/livros Provas de TI www.provasdeti.com.br Também foram usadas outras fontes, como livros, comentários do site Questões de Concursos, etc. Os comentários são sempre feitos colocando as fontes encontradas, algumas questões são mais difíceis de encontrar as fontes, podendo assim ser retiradas da internet, de sites como wikipedia e outros. Espero que ajude. Abraços. Notas da Versa o Essa é a versão 0.8, sendo a maioria das questões da banca CESPE, com o tempo espero acrescentar muito mais questões. Nesta versão ainda não coloquei questões sobre coesão e acoplamento, e existem poucas questões sobre projeto orientado a objetos, em breve serão colocadas essas questões. Caso encontre algum erro nesta versão pode mandar um e-mail para lhugojr@hotmail.com, colocando o número da questão e o erro encontrado. Versão 0.8 - LhugoJr 1

1 Análise e Projeto Orientado a Objetos 1) (SERPRO/Analista/Desenvolvimento de Sistemas/2008) Na área de projeto de software, também conhecida como design de software, o software começa a ser implementado e validado pelos programadores. O professor Marcio Victorino, comenta esta questão da seguinte maneira: O projeto inicia-se com o planejamento da solução. Já a implementação é que se ocupa das atividades de construção do código. Portanto a questão está errada. 2) (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Análise de Sistemas) O projeto foca na solução, consistindo em atividades de criação de um produto, enquanto a análise focaliza o problema. Na análise orientada a objetos, descrevem-se objetos ou conceitos como livros e usuários, que possuem atributos e responsabilidades. Vamos usar esta questão para definir os conceitos: Projeto Foca na solução consistindo em atividade de criação de um produto. Análise Descrevem-se objetos ou conceitos como livros e usuários que possuem atributos. 3) (PETROBRAS CESPE 2007) Em um modelo de análise, as classes de fronteira modelam interações entre o sistema e os atores. Cada classe de fronteira deve estar relacionada a um ou mais atores. Pode-se também ter classes de entidade, as quais tipicamente modelam dados persistentes. Vamos usar o material do professor Pedrosa: Classe de Fronteira o Utilizadas para modelar a interação entre um ator e o sistema. o Para cada ator, é identificada pelo menos uma classe de fronteira para permitir sua interação com o sistema. o Dependem do ambiente (visão). Classe de Controle - Objetos responsáveis por controlar a lógica de execução correspondente a cada caso de uso Classe de Entidade o Representam a informação que é manipulada ou processada pelo caso de uso o Vêm do domínio do negócio o Normalmente armazenam informações persistentes Portanto a questão está correta 4) (ANATEL CESPE 2006) Uma classe na análise orientada a objeto representa uma abstração que pode ser mapeada para mais de uma classe no projeto. As classes na análise podem ser fronteiras, controladoras ou entidades. Uma fronteira modela interações entre o sistema e atores, uma entidade modela apenas objetos persistentes e uma controladora só pode controlar interações entre instâncias de uma mesma classe. O erro da questão é que diz que a classe de entidade modela APENAS objetos persistentes, e uma controladora só pode controlar interações entre instâncias de uma mesma classe. Versão 0.8 - LhugoJr 2

Na verdade vamos as definições dada na questão anterior: Classe de Entidade o Representam a informação que é manipulada ou processada pelo caso de uso o Vêm do domínio do negócio Normalmente armazenam informações persistentes Controlador - intermediam objetos de classe de fronteira com o objeto de controle Cadastro Portanto a questão está errada. 5) (TSE CESPE 2006) Acerca da análise e do projeto orientados a objetos assinale a opção correta. a) Um modelo de análise é menos abstrato que um de projeto e as classes em um modelo de análise não podem ser conceituais. As classes na análise podem modelar objetos persistentes, mas não transientes. b) Uma importante responsabilidade da análise é definir a arquitetura do sistema, dividindo-o em subsistemas. Um subsistema expõe serviços via interfaces, que devem ser especificadas na análise. c) Uma classe descreve objetos com as mesmas responsabilidades, relacionamentos, operações, atributos e semântica. As instâncias de uma classe têm, portanto, os mesmos valores para os seus atributos. d) Um modelo de análise pode realizar casos de uso. A realização de um caso de uso descreve interações entre objetos. Na UML, essas realizações podem ser documentadas via diagramas de colaboração. Segundo o professor Pedrosa: (A) O modelo de análise é MAIS abstrato que um de projeto, e as classes SÃO conceituais. Portanto item errado. (B) Item errado. A definição da arquitetura está associada a Projeto e não Análise. (C) Item errado. As instâncias de uma classe podem NÃO ter os mesmo valores para seus atributos. (D) CERTO. Vamos nos aprofundar um pouco mais: Modelo de análise o É um modelo de objetos que descreve a realização dos casos de uso e que funciona como uma abstração do Modelo de Design o Contém as classes de análise (Modelo de Classes) e qualquer artefato associado o O Modelo de Classes evolui durante as iterações do projeto, incrementando novos detalhes às classes 2 Orientação a Objetos 6) (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Por meio do encapsulamento, para impedir o acesso direto ao atributo de um objeto, são disponibilizados externamente apenas os métodos que alteram esse objeto. Por exemplo, não é preciso conhecer todos os detalhes dos circuitos de uma câmera digital para utilizá-la; a parte externa da câmera encapsula os detalhes, provendo para o usuário uma interface mais amigável. Questão pegadinha, usando o comentário do professor Marcio Victorino: A parte da afirmação... são disponibilizados externamente apenas os métodos que alteram esse objeto... é falsa, pois pode-se disponibilizar métodos que processam informações sem que seja necessário alterar o Versão 0.8 - LhugoJr 3

objeto e mesmo assim ainda caracteriza o encapsulamento. Portanto a questão está errada. 7) (TRE9-BA/Analista Judiciário/Análise de Sistemas/2009) Em programação orientada a objetos, as propriedades que definem a estrutura e o comportamento de um objeto são especificadas para a classe da qual o objeto é instância e são válidas para todos os objetos dessa classe. Questão um pouco mais simples, a única parte que poderia gerar duvida é são válidas para todos os objetos dessa classe. Mas essa parte também está correta. Portanto temos: Questão correta. Propriedades que definem a estrutura e o comportamento são válidas para todos os objetos dessa classe. 8) (TRE9-BA/Analista Judiciário/Análise de Sistemas/2009) Todo objeto tem um identificador único que varia com o tempo de vida do objeto. A questão erra ao dizer que o identificador único varia com o tempo, na verdade o identificador do objeto não varia. 9) (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2010) Uma classe pode ser vista como uma descrição generalizada de uma coleção de objetos semelhantes. Questão boa para aprender com ela. Então vamos lá. A questão está correta. 10) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Classes são constituídas por interfaces e nelas definidas. O nome de uma classe deve ser único e tem escopo dentro da interface na qual é declarado. Classes e interfaces são dos termos diferentes, a questão fez uma salada com esses termos. Questão errada. 11) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Um objeto apresenta três características básicas, o estado, a identidade e o comportamento. A parte de dados de um objeto é definida por um conjunto de mensagens, e a porção funcional, por um conjunto de atributos. A questão trocou a definição na ultima frase, vamos reescrever ela para poder fixar o conteúdo: Versão 0.8 - LhugoJr 4

Um objeto apresenta três características básicas, o estado, a identidade e o comportamento. A parte de dados de um objeto é definida por um conjunto de atributos, e a porção funcional por um conjunto de mensagens. 12) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Polimorfismo permite estabelecer uma interface comum que define os atributos que um objeto pode receber em um grupo de classes criadas por herança. Assim, ao longo de uma hierarquia de classes, uma operação pode ter o mesmo nome compartilhado, e cada pacote, uma implementação diferente. Vamos ao comentário do professor Marcio Victorino. A questão não tem sentido, mas é possível reconhecer o erro quando ela afirma que...polimorfismo permite estabelecer uma interface comum que define os atributos que um objeto..., pois polimorfismo é em relação a métodos e não atributos. Portanto questão errada. 13) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Mensagem é uma solicitação entre classes para invocar certa operação, particularmente quando ocorre polimorfismo. Identidade é uma propriedade de um objeto que o distingue de todos os demais, sendo preservada até mesmo quando o estado do objeto muda completamente. Vamos reescrever a questão, dando ênfase aos erros: Mensagem é uma solicitação entre OBJETOS para invocar certa operação, INDEPENDE da ocorrência de polimorfismo. Identidade é uma propriedade de um objeto que o distingue de todos os demais, sendo preservada até mesmo quando o objeto muda completamente. Portanto a questão erra no primeiro período. 14) (ABIN/Oficial Técnico de Inteligência/Desenvolvimento e Manutenção de Sistemas/2010) Herança é um mecanismo de reutilização de classes e atributos definidos em classes gerais por classes mais específicas que pode ser utilizado para expressar tanto associações quanto generalizações. Em herança linear múltipla, ocorrem múltiplas superclasses para uma mesma subclasse. As superclasses irão se comportar como classes concretas somente para o objeto instanciado na subclasse de herança múltipla, permanecendo abstratas para instâncias regulares. Essa questão é um pouco mais difícil. Vamos aos comentários do professor Márcio: Herança é um mecanismo de reutilização de métodos e atributos definidos em classes gerais por classes mais específicas que pode ser utilizado para expressar apenas generalizações/especializações. Outro erro é que herança múltipla é não-linear. Portanto a questão está errada. Herança expressa generalizações/especializações Herança múltipla é não-linear Versão 0.8 - LhugoJr 5

15) (STJ/Analista Judiciário/Informática/2008) Se uma classe abstrata declara uma interface, essa classe tipicamente contém declarações de métodos, mas não corpos de métodos; a interface não pode ser implementada por classes que herdem da classe abstrata. Em diagramas UML, a classe abstrata pode ser identificada colocando-se seu nome em itálico, e relacionamentos de dependência podem ser representados por setas tracejadas entre clientes da interface e a classe abstrata. Vamos direto a solução: Uma classe abstrata que implementa ou não uma interface, PODE ter métodos com corpos definidos. A interface PODE ser implementada por classes que herdam da classe abstrata. O segundo período da questão está correto, vamos reescreve-lo para fixação: Em diagramas UML, a classe abstrata pode ser identificada colocando-se seu nome em itálico, e relacionamentos de dependência podem ser representados por setas tracejadas entre clientes da interface e a classe abstrata. 16) (TST/Analista Judiciário/Análise de Sistemas/2008) Uma das consequências do polimorfismo é que objetos de classes diferentes podem receber mensagens idênticas para ativar operações das respectivas classes, embora o processamento real a ser realizado seja diferente em cada classe. Mais uma boa questão para aprender. Vamos a ela: Objetos de classes diferentes podem receber mensagens idênticas para ativar operações das respectivas classes. Questão correta. 17) (CESPE - 2012 - MPE-PI - Analista Ministerial - Informática - Cargo 6) Em um programa orientado a objetos, em que as tarefas são definidas como comportamento de objetos, cada objeto é criado a partir da instanciação de uma classe onde os seus métodos estão implementados. Essa questão é muito polêmica, o gabarito foi dado com errado, ninguém achou o erro conclusivamente, mas vamos aos possíveis erros: No QC falaram que o erro pode estar: "uma classe onde os seus métodos estão implementados" => os métodos de um objeto podem estar na classe ou em qualquer classe ascendente na hierarquia. Ou ainda o erro pode estar em falar que as tarefas são definidas como comportamento de objetos, onde na bibliografia o termo mais correto seria métodos no lugar de tarefas. Concluindo, se esta questão cair de novo deve-se marcar errada. 18) (CESPE - 2008 - MPE-RR - Analista de Sistemas) Um encapsulamento é uma organização lógica para um conjunto de computações relacionadas; em um encapsulamento, há subprogramas e dados por eles manipulados. Uma abstração é uma representação de uma entidade que inclui somente os atributos de importância em um contexto particular. Versão 0.8 - LhugoJr 6

Mais uma daquelas questões para aprender, vamos definir os termos: Encapsulamento Organização lógica para um conjunto de computações relacionadas; em um encapsulamento, há subprogramas e dados por eles manipulados. Abstração Representação de uma entidade que inclui somente os atributos de importância em um contexto particular. Questão correta. Vamos ainda a definição de encapsulamento dada pelo professor Pedrosa: Encapsulamento - É o mecanismo da OO para esconder os detalhes internos de implementação dos objetos do mundo externo. 19) (CESPE - 2008 - MPE-RR - Analista de Sistemas) Há linguagens orientadas a objetos em que mensagens podem ser dinamicamente vinculadas a métodos usando-se variáveis polimórficas capazes de referenciar objetos de uma classe pai ou de suas subclasses. Nessas linguagens, quando se chama, via uma variável polimórfica, um método que foi definido na classe pai e sobreposto nas suas subclasses, a chamada é vinculada dinamicamente ao método. Vamos a definição de polimorfismo dinâmico dado pelo professor Pedrosa: Sobreposição ou Sobrescrita (override) Acontece na herança, quando a subclasse sobrepõe o método original. O método é escolhido em tempo de execução e não em tempo de compilação (Ligação Dinâmica) A escolha depende do tipo do objeto que recebe a mensagem Não obstante, a questão está correta. 20) (CESPE - 2011 - TRE-ES - Analista - Análise de Sistemas Específicos) Objetos de software interagem e comunicam-se com os outros por meio de mensagens. Por exemplo, quando o objeto A deseja que o objeto B execute um de seus métodos, envia a este uma mensagem. Algumas vezes, o objeto receptor precisa de mais informação para que saiba exatamente o que deve fazer, de modo que essa informação seja transmitida juntamente com a mensagem por meio de parâmetros. Vamos mais uma vez usar como referência o professor Pedrosa: Objetos se comunicam através de mensagens. Uma mensagem é uma operação que um objeto realiza em outro. Na prática, significa um objeto invocando um método de outro. Objetos devem se comunicar apenas através de mensagens (boa prática). Questão correta. O último período da questão está se referindo a os parâmetros exigidos do método, que são passados na mensagem. 21) (CESPE - 2010 - DETRAN-ES - Analista de Sistemas) De acordo com a programação orientada a objetos, Versão 0.8 - LhugoJr 7

por meio da qual o objeto é dividido em métodos e propriedades, ocorre polimorfismo em situações em que apenas os aspectos externos do objeto são visíveis, o que possibilita que as alterações na implementação do programa mantenham a característica física do objeto, sem alterar sua forma e interface. Vamos mais uma vez as definições de encapsulamento, polimorfismo, segundo professor Pedrosa: Encapsulamento - É o mecanismo da OO para esconder os detalhes internos de implementação dos objetos do mundo externo. Polimorfismo - Denota uma situação na qual um objeto pode se comportar de maneiras diferentes ao receber uma mensagem. A questão portanto está errada, ela trocou encapsulamento por polimorfismo. 22) (CESPE - 2010 - MPU - Técnico de Informática) Em uma hierarquia de classes, denomina-se polimorfismo a especialização do comportamento de uma classe em suas subclasses. Questão polêmica. Vamos aos comentários dado pelo professor Pedrosa: "À primeira vista eu também achei que fosse herança. Mas lendo com calma, ele fala da especialização do "comportamento" das classes mães nas classes filhas. Traduzindo: sobrescrita (override) de método, e isso configura polimorfismo dinâmico. Herança seria se ele falasse apenas em especialização da própria classe, como um todo. Neste caso mais genérico, não poderíamos garantir que há polimorfismo, mas apenas herança." Portanto questão correta. Vamos mais uma vez decorar isso para nunca mais errar esta questão. Polimorfismo - especialização do comportamento de uma classe em suas subclasses. 23) (CESPE - 2010 - MPU - Técnico de Informática) Os elementos que compõem uma classe representam a estrutura e o comportamento das instâncias dessa classe. Assim, para atribuir valores a quaisquer atributos, é necessária a instanciação dos objetos da referida classe O erro desta questão está em afirmar que para atribuir valores a QUAISQUER atributos, é necessária a instanciação dos objetos da referida classe. Na verdade temos atributos estáticos onde não é preciso instanciar objetos para atribuir valores. 24) (CESPE - 2010 - ABIN - OFICIAL TÉCNICO DE INTELIGÊNCIA - ÁREA DE SUPORTE A REDE DE DADOS) O princípio de abstração possui dois tipos fundamentais: a abstração de processos, que está diretamente ligada à programação orientada a objetos; e a abstração de dados, relacionada à utilização de subprogramas. Um conceito diretamente relacionado a ambos os tipos de abstração é o encapsulamento, que consiste no fornecimento de serviços bem definidos, sem necessariamente esclarecer como esses serviços são executados. Vamos a definição dos conceitos: Versão 0.8 - LhugoJr 8

Abstração de processos, relacionada à utilização de subprogramas. Abstração de dados, está diretamente ligada à programação orientada a objetos. Portanto a questão trocou as definições, questão errada. A segundo parte da questão está correta: Encapsulamento, consiste no fornecimento de serviços bem definidos, sem necessariamente esclarecer como esses serviços são executados 25) (CESPE - 2010 - ABIN - OFICIAL TÉCNICO DE INTELIGÊNCIA - ÁREA DE SUPORTE A REDE DE DADOS) Sobrecarga e sobreposição de métodos são implementações específicas de polimorfismo, já que, em ambos os casos, a decisão sobre o método a ser chamado é realizada em tempo de execução. Talvez essa seja a questão mais polêmica sobre este assunto. Vamos a definição dada pelo professor Pedrosa: Sobreposição ou Sobrescrita (override) / Polimorfismo Dinâmico Acontece na herança, quando a subclasse sobrepõe o método original. O método é escolhido em tempo de execução e não em tempo de compilação (Ligação Dinâmica) A escolha depende do tipo do objeto que recebe a mensagem Sobrecarga (overload) / Polimorfismo estático A mesma operação implementada várias vezes na mesma classe A escolha depende da assinatura dos métodos sobrecarregados Portanto a questão poderia esta errada, porque sobrecarga seria em tempo de compilação. Mas a banca Cespe considerou a questão correta, segue sua justificativa: Sobrecarga é também chamada polimorfismo ad-hoc, e sobreposição é polimorfismo universal. Em ambos os casos, a ligação é dinâmica e feita em tempo de execução. Devido ao exposto, opta-se pela alteração do gabarito de ERRADO para CERTO. Caso essa questão caia de novo deve-se levar em consideração essa questão. 26) (CESPE - 2009 - DETRAN-DF - Analista - Análise de Sistemas) Uma classe ou componente poderá realizar apenas alguns tipos de interfaces. As classes possuem a característica exclusiva de poder participar de relacionamentos de generalização, associação e dependência. A questão erra ao dizer EXCLUSIVA. E também erra ao dizer que classes podem realizar apenas alguns tipos de interfaces. Vamos ao comentário do colega encontrado no QC: Relacionamentos: 1. Entre classes: o Dependência. o Generalização(extends). o Associações: Simples. Versão 0.8 - LhugoJr 9

Agregação (parte/todo). Composição (parte/todo com deleção das partes). Entre Classes e Interfaces: o Dependência. o Associação. o Realização (implements). Entre Interfaces: o Generalização(extends). 27) (CESPE - 2010 - Banco da Amazônia - Técnico Científico - Tecnologia da Informação - Análise de Sistemas) Ao se instanciar uma classe, cria-se novo objeto, que contém todas as variáveis definidas na classe. Todas essas variáveis guardam valores individuais para cada objeto Na orientação a objeto existem os atributos estáticos, que são compartilhados entre todos os objetos da classe. Portanto a questão está errada. 3 Coesão e Acoplamento Em breve. Versão 0.8 - LhugoJr 10