Você está na página 1de 23

REVISÃO PROGRAMAÇÃO ORIENTADA A OBJETOS C++ E VS2015 /VS2012

Classe: é a abstração de objetos de um mundo real

Método: funcionalidade de uma classe

Objeto: instancia de uma classe em memoria

Atributo: Os Atributos em Programação Orientada a Objetos são os elementos que definem a estrutura de
uma classe. Os atributos também são conhecidos como variáveis de classe, e podem ser divididos em dois
tipos básicos: atributos de instância e de classe. Os valores dos atributos de instância determinam o estado
de cada objeto.

Instancia:

Cor é um atributo categorizado, pois necessitamos informar quantas cores e de que forma necessitamos colocar na
classe

Enumerador: é utilizado para criar uma lista de elementos garantindo a integridade

Também devemos definir a visibilidade de um membro de uma classe

Que poderá ser privado publica ou protegido

Encapsulamento:

Herança: receber algo ou seja é quando uma classe pode herdar características de outra onde terá uma classe mãe e
nesta classe vai passar métodos genéricos para outra filha que poderá criar atributos específicos

Método construtor e Destrutor:

Assinatura:

Sobrecarga de métodos:

EXERCÍCIOS PARTE 1

Fundação Carlos Chagas, 2010 – DPE-SP


A cidade de São Paulo, que possuía uma população de 10.000.000 de habitantes, teve um aumento
de mais 2.000.000 de novos habitantes.
Na associação da frase acima aos conceitos da modelagem orientada a objeto, é correto afirmar que
São Paulo, população e aumento, referem-se, respectivamente, a:
Escolha uma:
a. objeto, atributo, implementação por um método do objeto.

b. classe, objeto, atributo.

c. classe, objeto, associação pelo método de agregação.

d. objeto, instância, operação.

e. classe, objeto, instância de classe.


A Linguagem C evoluiu para o C++ e sua sintaxe também serviu de base para criação de outras
linguagens, como o Java e o C#. Em qualquer de suas derivações ou descendentes, há uma situação
comum: a compilação de um programa em qualquer dessas linguagens inicia por uma função/método
conhecido. Este método é identificado como:
Escolha uma:
a. procedure().

b. start().

c. function().

d. main().

e. program().
Fundação Carlos Chagas, 2012 – TRF - 2ª REGIÃO
Sobre orientação a objetos é correto afirmar:
Escolha uma:
a. Numa árvore genealógica de classes, a classe mais baixa herda os atributos e métodos somente da superclasse
no nível imediatamente acima.

b. Na hierarquia de classes, se superclasse é uma generalização de subclasses, pode-se inferir que a


subclasse é uma especialização de superclasse.

c. As variáveis de uma classe só podem ser alteradas por métodos definidos nos seus objetos.

d. O polimorfismo se caracteriza quando, para mensagens distintas, objetos diferentes responderem ou agirem de
forma idêntica.

e. Os objetos de uma classe são idênticos no que se refere à sua interface e ao seu estado.
PaqTcPB, 2012 – UEPB
São conceitos chaves do paradigma orientado a objetos:
Escolha uma:
a. Polimorfismo por inclusão, casamento de padrões, transparência referencial e herança.

b. Casamento de padrões, herança, classes e objetos.

c. Classes, objetos, regras e funções.

d. Classes, objetos, herança e polimorfismo por inclusão.

e. Sobrecarga, inferência lógica, backtracking e herança.

O paradigma orientado a objetos foca na abstração e no contexto. Sobre orientação a objetos, é


correto afirmar:
I. Uma classe é o projeto do objeto. Cada objeto criado a partir da classe terá os mesmos os atributos.
II. Um relacionamento de herança significa que a classe derivada herdará os atributos e métodos da
classe base.
III. Uma interface é uma classe totalmente abstrata, ou seja, uma classe que não pode ser
instanciada.
IV. A principal regra prática do encapsulamento é marcar os atributos como públicos e os métodos
como privados.
Estão corretas as afirmações:
Escolha uma:
a. somente II e IV.

b. somente I e II.

c. somente III e IV.

d. somente I e III.

e. somente II e III.

ESAF, 2004 – CGU


Analise as seguintes afirmações relativas a programação Orientada a Objetos:
I. As informações em um programa desenvolvido segundo a orientação a objetos são armazenadas,
por herança, nas classes.
II. Em um programa, os objetos que precisam ser armazenados em memória não volátil são
denominados objetos persistentes.
III. Na programação orientada a objetos, quando se utiliza um Banco de Dados relacional, deve-se
criar métodos para mapear, em tabelas, os objetos que serão armazenados.
IV. Em uma aplicação podem existir múltiplas instâncias de uma mesma classe e estas conterão
diferentes atributos de instâncias.
Estão corretos os itens:
Escolha uma:
a. I e II.

b. II e IV.

c. III e IV.

d. II e III .

e. I e III.

SUGEP, 2016 – UFRPE


Considere as afirmações abaixo, sobre os paradigmas de linguagens de programação.
1) As linguagens de programação Python, Ruby, C#, Cython e Lua são multiparadigmáticas e podem
ser classificadas, pelo menos, nos paradigmas Orientado a Objetos, Funcional e Imperativo.
2) As linguagens de programação Object-Pascal (Delphi), Python, C++ e Java, embora deem suporte
à Orientação a Objetos (OO), não são completamente orientadas a objetos.
3) As linguagens de programação Smalltalk e Ruby são completamente orientadas a objetos, uma vez
que todo valor de dados é um objeto e todas as operações são vias chamadas de métodos.
Está(ão) correta(s):
Escolha uma:
a. 1 e 2, apenas.

b. 1 e 3, apenas.

c. 1, 2 e 3.

d. 3, apenas.

e. 2 e 3, apenas.

Fundação Carlos Chagas, 2012 – TRT - 11ª Região (AM)


No contexto de Programação Orientada a Objetos (OOP), sobre a relação de agregação e
composição, ou relação todo-parte, considere:
I. A relação de agregação expressa o ato ou resultado de formar um objeto usando outros objetos
como seus componentes.
II. Na relação de agregação, as partes só existem enquanto o todo existir.
III. Na relação de composição, as partes são independentes da existência do todo.
Está correto o que se afirma em:
Escolha uma:
a. III, apenas.

b. I, II e III.

c. II e III, apenas.

d. II, apenas.

e. I, apenas.
Cronologicamente, existem autores que classificam as Linguagens de Programação em gerações,
porém de forma não consensual. Ainda assim, é possível identificar momentos das linguagens pelas
suas características. Considerando as seguintes Linguagens de Programação:
1. Fortran e Lisp
2. Cobol e Basic
3. Pascal
4. C++
5. Java e C#
Relacione-as com suas principais características:
( ) Seus programas utilizam máquina virtual para executar
( ) Realização de cálculos
( ) Principal precursora das linguagens orientadas a objetos.
( ) Manipulação de dados
( ) Ensino da programação estruturada
Escolha uma:
a. 1, 3, 5, 2, 4.

b. 5, 4, 3, 2, 1.

c. 5, 1, 4, 2, 3.

d. 5, 3, 4, 1, 2.

e. 1, 2, 3, 4, 5.
Fundação Carlos Chagas, 2011 – TCE-PR
Em relação à Programação Orientada a Objetos, é INCORRETO afirmar:
Escolha uma:
a. Uma agregação representa um todo que é composto de várias partes e constitui um relacionamento de
contenção; se qualquer uma das partes for destruída, as demais partes também o serão.
b. Polimorfismo pode ser entendido como um conceito complementar ao de herança. Assim, no polimorfismo é
possível enviar a mesma mensagem a diferentes objetos e cada objeto responder da maneira mais apropriada para
sua classe.

c. A aplicação do polimorfismo utilizando interfaces requer que o método polimórfico seja definido na classe
ancestral como abstract para possibilitar sua redefinição nas classes descendentes.

d. No contexto da herança, uma instância da subclasse é, também, uma instância da superclasse.

e. Interfaces são como as classes abstratas, mas nelas não é possível implementar nenhum método, apenas
declarar suas assinaturas; uma classe ao implementar uma interface deverá escrever todos os seus métodos.
Para criação de um programa em qualquer linguagem de programação, é necessário digitar o código
fonte em um arquivo de texto, que será traduzido pelo compilador para geração do código executável.
A maneira mais fácil de se fazer isso nas linguagens atuais é através de uma IDE. Sobre IDE,
assinale (V) para as afirmativas verdadeiras e (F) para as afirmativas falsas:
( ) é um ambiente de desenvolvimento integrado.
( ) oferece, dentre outras facilidades, um editor de texto para o código fonte.
( ) oferece, dentre outras facilidades, compilador para uma ou mais linguagens.
( ) o Microsoft Visual Studio é uma IDE.
Escolha uma:
a. F, F, F, F.

b. V, V, F, F.

c. V, V, V, F.

d. F, F, V, V.

e. V, V, V, V.
Existem diversas linguagens comerciais que permitem a programação orientada a objetos. O C++, o
C# e o Java são exemplos dessas linguagens. Neste tipo de programação é importante restringir a
visibilidade de alguns atributos para garantir:
Escolha uma:
a. o polimorfismo.

b. a classe.

c. a herança.

d. o encapsulamento.

e. a instanciação.
A palavra computador remete diretamente ao ato de computar, calcular, e os computadores são uma
evolução das máquinas de calcular. Até a década de 1940, a programação dos computadores digitais
acontecia...
Escolha uma:
a. através de rodas dentadas.

b. através de linguagens de programação.

c. através dos cartões perfurados.


d. através de fluxogramas.

e. através da combinação de chaves de liga-desliga.


ESAF, 2004 – CGU
Na programação Orientada a Objetos:
Escolha uma:
a. a união de todos os objetos de uma classe forma seu método construtor.

b. as Classes definem os serviços que podem ser solicitados a um construtor.

c. as Classes são tipos de objetos que descrevem as informações armazenadas e os serviços providos por
um objeto.

d. as Classes definem o comportamento dinâmico de uma instância.

e. o diagrama de classes reflete o comportamento dinâmico do programa.

O paradigma estruturado foi, durante muito tempo, utilizado para a criação dos sistemas comerciais.
Mas, à medida que a indústria de software foi crescendo, ele foi dando espaço ao paradigma
orientado a objetos. Sobre este paradigma, assinale (V) para as afirmativas verdadeiras e (F) para as
afirmativas falsas:
( ) um objeto pode existir mesmo que não exista nenhum evento a ele associado.
( ) os conceitos de generalização e especialização da orientação a objetos estão diretamente
associados ao conceito de herança.
( ) um construtor é executado automaticamente sempre que um novo objeto é criado.
( ) polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse
podem invocar métodos que têm a mesma assinatura e mesmo comportamento.
( ) uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é
capaz de manter através de seus atributos.
Escolha uma:
a. V, V, V, V, V.

b. V, V, F, F, V.

c. F, F, F, V, V.

d. V, V, V, F, V.

e. F, F, V, V, V.

ESAF, 2006 – CGU


Analise as seguintes afirmações relacionadas aos conceitos básicos relacionados a programação e
Linguagens de Programação Orientadas a Objetos.
I. Na Programação Orientada a Objetos o overflow em operações aritméticas e a divisão por zero não
podem ser tratados como exceções.
II. Uma vez que uma exceção é disparada o controle não pode retornar diretamente ao ponto de
disparo.
III. Uma exceção termina o bloco no qual ela ocorreu.
IV. O tratamento de exceções é utilizado para tratar erros de sintaxe, isto é, erros que acontecem
como resultado da compilação de um programa.
Indique a opção que contenha todas as afirmações verdadeiras.
Escolha uma:
a. III e IV.

b. I e III.

c. II e IV.

d. I e II.

e. II e III.

Fundação Carlos Chagas, 2011 – TER-AP


Analise as seguintes definições:
I. Objeto que existe depois que o processo ou o thread que o criou deixa de existir.
II. Mecanismo pelo qual elementos mais específicos incorporam a estrutura e o comportamento de
elementos mais gerais.
III. Lista de valores nomeados, utilizada como faixa de um determinado tipo de atributo.
Correspondem, respectivamente, às definições I, II e III:
Escolha uma:
a. objeto ativo, polimorfismo e multiplicidade.

b. objeto persistente, herança e enumeração.

c. objeto transiente, polimorfismo e multiplicidade.

d. objeto ativo, mensagem e enumeração.

e. objeto transiente, método e cardinalidade.

CESPE, 2010 – INMETRO


A respeito das características dos paradigmas e das linguagens de programação, assinale a opção
correta.
Escolha uma:
a. As linguagens imperativas, como o Pascal, são voltadas para a especificação da solução do problema,
por meio do detalhamento do algoritmo e da especificação da ordem das instruções.

b. No paradigma lógico, que é suportado por linguagens de programação não imperativas, como o Lisp, os
programas gerados são embasados em funções matemáticas.

c. O paradigma de programação orientado a objetos reúne linguagens, como o C++, que são declarativas, isto é, o
foco está na especificação dos resultados desejados ao invés dos procedimentos para produzi-los.

d. As linguagens do paradigma de programação funcional, como o Prolog, não apresentam grandes restrições ao
uso de estruturas de controle (goto), o que pode reduzir a legibilidade dos programas construídos sem limitações.

e. As linguagens procedimentais que dominaram o mercado antes da programação estruturada, tal como o COBOL,
caracterizaram-se por utilizar amplamente os tipos abstratos de dados.
Um dos recursos utilizados na programação orientada a objetos para proteger os dados das classes é
o encapsulamento. A respeito de encapsulamento:
I. Pode ser entendido como sendo um conjunto de instâncias criadas a partir de um outro conjunto de
instâncias com características semelhantes.
II. É a base desse paradigma de programação e é correto afirmar que um dado está encapsulado
quando envolvido por código de forma que só é visível na rotina onde foi criado; o mesmo acontece
com uma rotina, que sendo encapsulada, suas operações internas são invisíveis às outras rotinas.
III. É a habilidade de modelar características do mundo real do problema que o programador esteja
tentando resolver.
IV. Possibilita a criação de uma classe derivada, de modo que essa classe herda todas as
características da classe base.
Estão corretas as afirmações:
Escolha uma:
a. somente II, III e IV.

b. somente I e II.

c. somente III.

d. somente II.

e. somente I.

Com o passar dos anos, a programação estruturada foi sendo deixada de lado e a programação orientada a objetos
foi ganhando seu espaço no desenvolvimento de sistemas. Esta última foca no contexto e na abstração. Sobre o
paradigma orientado a objetos:
I. Classes são apenas agrupamentos de métodos.
II. Objetos são instâncias de classes.
III. Herança é uma relação entre objetos.
IV. Herança é uma relação entre classes.
V. Mensagens são formas de executar métodos.
Estão corretas APENAS as afirmações.
Escolha uma:
a. II, IV e V.

b. III, IV e VI.

c. I, III e VI.

d. I, III e IV.

e. II, III e V.
EXERCICIOS PARTE 2

Uma classe é composta de membros: atributos e métodos. Os atributos também são conhecidos
como:
Escolha uma:
a. métodos.

b. objetos.

c. variáveis estáticas.
d. variáveis dinâmicas.

e. variáveis de instância.
Além de receber parâmetros para realização de uma tarefa, um método também pode devolver um
valor, ou seja, ele pode dar um retorno ao método que o chamou. Assinale (V) para as afirmativas
verdadeiras e (F) para as afirmativas falsas, a respeito de retornos em métodos:
( ) o retorno deve ser sempre do mesmo tipo do parâmetro recebido
( ) um retorno deve ser sempre de um tipo de dado primitivo
( ) um mesmo método pode receber mais de um parâmetro e também dar mais de um retorno
( ) o retorno não é obrigatório
Escolha uma:
a. F, F, F, F.

b. F, F, V, V.

c. F, F, F, V.

d. V, V, V, V.

e. V, V, F, F.
Os dados de uma classe não podem e não devem ser manipulados diretamente por uma
funcionalidade implementada em outra classe. Qualquer alteração nos dados de uma classe deve
acontecer pela invocação de um método da própria classe. Esta proteção é conhecida como:
Escolha uma:
a. atributo

b. procedimento

c. encapsulamento

d. método

e. abstração
Os acessos e alterações dos dados de um objeto são feitas por meio de métodos implementados
nesse objeto para evitar que ocorram acessos diretos aos dados e assim evitando erros de
alterações, assim os dados ficam escondidos para dentro do objeto. Como esse processo é chamado:
Escolha uma:
a. Alteração

b. Nenhuma está correta

c. Escrita

d. Encapsulamento

e. Esconderijo

Fundação Carlos Chagas, 2011 – TRT - 24ª REGIÃO (MS)


Em relação à orientação a objetos, considere:
Um dos mecanismos fundamentais na programação orientada a objetos é o conceito de redefinição,
que ocorre quando um método, cuja assinatura já tenha sido especificada, recebe uma nova definição
em uma classe derivada. A linguagem de programação orientada a objetos deve suportar o conceito
de ligação tardia (late binding), visto que a definição do método que é candidato a ser efetivamente
invocado só ocorre durante a execução do programa. O mecanismo de redefinição, juntamente com o
conceito de ligação tardia, é a chave para a utilização adequada de:
Escolha uma:
a. polimorfismo.

b. dois métodos de uma mesma classe.

c. objeto de classes derivadas.

d. restrições de acesso.

e. polimorfismo e herança.
Fundação Carlos Chagas, 2009 – TRT - 16ª REGIÃO (MA)
A utilização de um sistema orientado a objetos não deve depender de sua implementação interna,
mas sim de sua __I__. Isso protege os elementos internos de uma classe e é o que define o __II__,
que determina, também, que os atributos da classe só podem ser acessados e atualizados por suas
__III__.
Completa correta e respectivamente as lacunas I, II e III:
Escolha uma:
a. programação; método; mensagens.

b. classificação; encapsulamento; interfaces.

c. interface; encapsulamento; operações.

d. programação; método; heranças.

e. operação; algoritmo; interfaces.

CESPE, 2013 – TER-MS


Assinale a opção correta quanto à abordagem conceitual de abstração sob o paradigma de
programação orientada a objetos.
Escolha uma:
a. Abstração consiste em uma linguagem puramente lógica. A motivação para isso veio em parte da vontade de se
reconciliar o uso da lógica como uma linguagem declarativa de representação do conhecimento com a
representação procedimental do conhecimento.

b. As abstrações, idealmente, caracterizam-se por não serem grandes demais em comparação aos módulos, pois
senão elas se tornam multifuncionais e de difícil compreensão. Como consequência, a abstração deve ser
implementada apenas no nível de estruturas de dados necessários para se atingir o objetivo pretendido.

c. Abstração é um conceito segundo o qual o sistema ou software é dividido em partes distintas. Compõe o
ferramental necessário para um programa mais legível com uma melhor manutenção e melhor desempenho por
meio da programação orientada a objetos.

d. Abstração é a habilidade de se concentrar nos aspectos essenciais de um contexto qualquer, ignorando


características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma
abstração de entidades existentes no domínio do sistema de software.

e. Abstração é uma linguagem declarativa que permite acesso à base de dados mediante a utilização da teoria dos
conjuntos e da álgebra relacional como fundamento de seu funcionamento.
A passagem de argumentos por parâmetros em métodos pode ser feita por cópia ou por referência.
Sobre a forma de passagem dos argumentos, assinale (V) para as afirmativas verdadeiras e (F) para
as afirmativas falsas:
( ) a passagem por cópia é mais lenta, pois é necessário criar uma cópia do objeto que é passado
( ) na passagem por cópia é passado o endereço do objeto já existente
( ) a passagem por referência é mais lenta, pois é necessário criar um endereço para o objeto que é
passado
( ) na passagem por referência é passado o endereço do objeto já existente.
Escolha uma:
a. F, F, F, F.

b. V, V, F, F.

c. V, F, F, V.

d. V, V, V, V.

e. F, F, V, V.
A ideia fundamental de linguagens orientadas ao objeto é a possibilidade de combinar em um único
registro campos que conterão dados e campos que são funções para operar os campos de dados do
registro. A essa linguagem denomina-se classe. Das alternativas abaixo qual refere-se a definição de
classe:
Escolha uma:
a. Uma classe é definida pela articulação entre o campo de registro e a variável do objeto.

b. Uma classe é considerada um tipo de dado com os tipos que existem predefinidos em compiladores de
diversas linguagens de programação.

c. Uma classe é definida pela organização de variáveis que pré-determinam a função articuladora da programação.

d. Uma classe é definida pela quantidade de provedores que encalçam os mecanismos Dos registros de campo.

e. Uma classe é considerada como o único mecanismo da programação.


COMVEST, 2016 – UFAM
As afirmativas mostradas a seguir estão relacionadas com a programação orientada para objeto sem
C++.Analise as afirmativas e marque com V as verdadeiras e com F as falsas:
( ) As classes em C++ não podem ser compostas por objetos de outras classes.
( ) Membros static de uma classe podem ser acessados através de um objeto daquela classe ou
através do nome da classe, usando o operador de resolução de esopo (se o membro for public).
( ) Uma função friend de uma classe é uma função definida fora daquela classe e que tem o direito de
acessar todos os membros da classe.
( ) Uma função membro definida como const modifica membro de dados de um objeto.
( ) Tentar declarar como const um construtor ou destruidor é um erro de sintaxe.
( ) Membros protected são usados para evitar privilégios às classes derivadas, ao mesmo tempo que
permite privilégios para funções
que não sejam da classe ou amigas (friend) da classe.
( ) Quando se deriva uma classe a partir de uma classe public, os membros public da classe base se
tornam membros protected da classe derivada e os membros protected da classe base se tornam
public da classe derivada.
( ) Quando se deriva uma classe a partir de uma classe public, os membros public da classe base se
tornam membros public da classe
derivada e os membros protected da classe base se tornam protected da classe derivada.
Assinale a alternativa que apresenta a sequência correta de V e F de cima para baixo:
Escolha uma:
a. F – V – F – F – V –V – V – F.

b. F – V – V – F – V – F – F – V.

c. V – F – F – F – V – F – V – F.

d. V – V – V – F – F – F – F – V.

e. F – F – V – F – V – F – V – V.
Fundação Carlos Chagas, 2009 – TRT - 16ª REGIÃO (MA)
Um analista necessita definir uma associação entre classes onde uma delas, sendo parte da outra,
tem sua vida controlada por aquela da qual faz parte. Esta associação é tipicamente uma:
Escolha uma:
a. estereotipação.

b. enumeração.

c. realização.

d. dependência.

e. composição.

Quando um determinado grupo de classes possuem muitas características em comum entre elas, é
criado uma classe-base onde são implementados os métodos repetidos e a partir dela cada uma das
sub-classes terão essas características principais e algumas outras características próprias, esse
processo onde as sub-classes possuem as características da classe-base é chamado de:
Escolha uma:
a. Função

b. Passagem de parâmetro

c. Polimorfismo

d. Método

e. Herança

Fundação Carlos Chagas, 2009 – TRT - 7ª Região (CE)


Considere: A classe Pedido contém um método chamado obter Produtos() que retorna uma lista de
produtos pertencentes a um determinado pedido. O código que usa esta classe desconhece
completamente como esta lista de produtos é montada. Tudo que interessa é a lista de produtos que
o método retorna.
Na essência, o texto explica um dos fundamentos das linguagens OO que é:
Escolha uma:
a. dependência.

b. encapsulamento.
c. estereotipagem.

d. polimorfismo.

e. herança múltipla.
Ainda que os retornos em métodos sejam bastante utilizados, nem sempre eles são obrigatórios. Em
C#, para evidenciar que um método não tem retorno, na sua assinatura deve-se:
Escolha uma:
a. utilizar a cláusula “private” antes do nome do método.

b. utilizar a cláusula “void” antes do nome do método.

c. não utilizar cláusula para o tipo de retorno, bastando iniciar a assinatura pelo nome do método.

d. utilizar a cláusula “static” antes do nome do método.

e. utilizar a cláusula “public” antes do nome do método.


O método construtor de uma classe é chamado no momento em que um objeto daquela classe é
instanciado. Assinale (V) para as afirmativas verdadeiras e (F) para as afirmativas falsas, a respeito
de métodos construtores:
( ) sua execução ocorre por chamadas diretas (explícitas) no código fonte
( ) não possuem valor de retorno (nem mesmo do tipo “void”)
( ) o código do construtor é executado assim que os tipos básicos do objeto são criados
( ) os construtores possuem, obrigatoriamente, o mesmo nome da classe
Escolha uma:
a. F, V, V, V.

b. V, V, V, V.

c. F, F, V, V.

d. V, V, F, F.

e. V, F, V, F.

ESAF, 2005 – Receita Federal


Classes e objetos são dois conceitos-chave da programação orientada a objetos. Com relação a estes
conceitos, é correto afirmar que:
Escolha uma:
a. uma classe é uma descrição de um ou mais objetos por meio de um conjunto uniforme de atributos e
serviços. Além disso, pode conter uma descrição de como criar novos objetos na classe.

b. uma classe é uma abstração de alguma coisa no domínio de um problema ou na sua implementação, refletindo a
capacidade de um sistema para manter informações sobre ela, interagir com ela ou ambos.

c. o polimorfismo caracteriza-se pela possibilidade de objetos distintos possuírem métodos com nomes idênticos,
mas com implementações distintas.

d. se pode definir uma classe como um pacote de software, de modo que, com a herança, um objeto define
comportamento e forma-padrão para a construção de uma nova classe abstrata.

e. um objeto é um protótipo que defi ne os atributos e métodos comuns a todas as classes de um certo tipo.
CESPE, 2009 – TCE-AC
Com relação às linguagens de programação orientadas a objetos, assinale a opção correta.
Escolha uma:
a. Um operador de conversão static, ou operador de coerção, pode ser utilizado para se converter um objeto de uma
classe em um objeto de outra classe, exceto quando se tratar de um objeto de tipo fundamental.

b. Em C++, uma função operadora global pode tornar-se um friend de uma classe se precisar acessar
diretamente membros private ou protected dessa classe.

c. No C++, na herança entre classes, quando a derivação da classe base é do tipo public, os membros public e
protected da classe base tornam-se membros private e protected na classe derivada.

d. Cada método de uma classe é especificado por uma assinatura cuja composição não inclui a lista de argumentos.

e. O modificador de visibilidade não pode ser do tipo public.


ndação Carlos Chagas, 2012 – TJ-RJ
No contexto de programação orientada a objetos, considere as afirmativas abaixo.
I. Objetos são instâncias de classes.
II. Herança é uma relação entre objetos.
III. Mensagens são formas de executar métodos.
IV. Classes são apenas agrupamentos de métodos.
V. Ocorre herança múltipla quando mais de um método é herdado.
VI. Herança é uma relação entre classes.
Está correto o que se afirma APENAS em:
Escolha uma:
a. II, IV e V.

b. II, III e V.

c. III, IV e VI.

d. I, III e VI.

e. I, III e IV.
A chamada de um método construtor prevê a execução de alguns passos. Enumere a ordem de
execução das ações a seguir quando o construtor é invocado:
( ) O construtor da classe base é invocado.
( ) O espaço para o objeto é alocado e seu conteúdo é inicializado com zeros.
( ) O restante do corpo do construtor é executado.
( ) Os membros da classe são inicializados para o objeto, seguindo a ordem em que foram declarados
na classe.
Escolha uma:
a. 1, 2, 3, 4.

b. 3, 2, 1, 4.

c. 2, 1, 3, 4.

d. 4, 3, 2, 1.
e. 2, 1, 4, 3.

Na programação orientada a objetos, o conceito de encapsulamento está relacionado à proteção dos


dados do objeto. Assinale (V) para as afirmativas verdadeiras e (F) para as afirmativas falsas, a
respeito de encapsulamento:

( ) 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.
( ) Os objetos permitem encapsular dados e funções, que modelam comportamentos e atributos,
respectivamente.
( ) Os métodos estáticos, quando executados, acessam apenas os atributos de instância da classe.
Escolha uma:
a. V, F, F.

b. F, F, V.

c. V, V, V.

d. V, F, V.

e. F, F, F.

FEPESE, 2010 – UDESC


Sejam A e B duas classes em um programa orientado a objetos. Se A é __________ de B, então
objetos da classe A _________________ atributos que objetos da classe B.
Assinale a alternativa que completa correta e sequencialmente as lacunas do texto.
Escolha uma:
a. subclasse; podem possuir mais.

b. subclasse; não podem possuir mais.

c. superclasse; possuem necessariamente mais.

d. subclasse; possuem necessariamente menos.

e. superclasse; possuem necessariamente menos.

Fundação Carlos Chagas, 2014 – TRT - 16ª REGIÃO (MA)


É uma linguagem de programação orientada a objetos que está disponível para diversas plataformas.
Nela, todas as variáveis são objetos, inclusive os tipos primitivos. Possui métodos para geração de
códigos em tempo real (como os attribute accessors), utiliza mixins para emular herança múltipla,
permite passar code blocks como parâmetros para métodos e permite a criação de clausuras. A
linguagem descrita é denominada:
Escolha uma:
a. Java.

b. Python.

c. COBOL.

d. Ruby.
e. C Sharp.

FGV, 2015 - TCE-SE


Em POO (Programação Orientada a Objetos), dizer que a classe A estende a classe B é o mesmo
que dizer que:
Escolha uma:
a. as classes A e B são irmãs.

b. a classe A é derivada de B;

c. a classe A é superclasse de B;

d. a classe B é derivada de A;

e. a classe B é subclasse de A;

Dentre os diversos padrões de projeto propostos pelo GoF (Gang of Four), um deles deve garantir
que haja uma única instância de um mesmo objeto em toda a aplicação. Trata-se do:
Escolha uma:
a. Abstract Factory.

b. Composite.

c. Prototype.

d. Singleton.

e. Builder.
As diretivas de pré-processador são incluídas no início do código do programa em C++ e são
iniciadas pelo símbolo #, e as mesmas não contêm ; no final da sintaxe. Qual das alternativas abaixo
executa essas diretivas? Escolha uma das opções apresentadas a seguir para responder à questão
levantada, no enunciado.
Escolha uma:
a. Programa.

b. Compilador.

c. Microprocessador.

d. Linkeditor.

e. Memória.

Com o passar dos anos, a programação estruturada foi sendo deixada de lado e a programação
orientada a objetos foi ganhando seu espaço no desenvolvimento de sistemas. Na programação
orientada a objetos, temos conceitos como Herança e Polimorfismo. Sobre a programação orientada a
objetos:
I. A classe é constituída por atributos, que representam os dados, e por operações a serem
executadas, que representam os métodos.
II. O estado de um objeto não deve ser acessado diretamente, mas sim por meio de métodos de
acesso. Esta afirmação está associada ao conceito de encapsulamento.
III. Herança é a propriedade que uma classe tem em legar seus elementos constituintes à sua
subclasse.
Estão corretas as afirmativas:
Escolha uma:
a. somente II.

b. somente I e II.

c. I, II e III.

d. somente III.

e. somente II e III.
COMVEST - UFAM - 2016 - UFAM - Técnico em Tecnologia da Informação
Na Programação Orientada para Objetos, a herança possibilita que as classes compartilhem seus
atributos, métodos e outros membros da classe entre si. Para a ligação entre as classes, a herança
adota um relacionamento esquematizado hierarquicamente. Assim, com o mecanismo da herança,
dizer que uma classe FUNCIONÁRIO é derivada da classe PESSOA é o mesmo que dizer que:
Escolha uma:
a. a classe PESSOA é subclasse da classe FUNCIONÁRIO.

b. não existe nenhuma relação hierárquica entre as classes PESSOA e FUNCIONÁRIO.

c. a classe PESSOA estende a classe FUNCIONÁRIO.

d. a classe FUNCIONÁRIO estende a classe PESSOA.

e. as classes PESSOA e FUNCIONÁRIO são irmãs.

Fundação Carlos Chagas, 2016 – TRT - 23ª REGIÃO (MT)


Durante o desenvolvimento de uma aplicação orientada a objetos com Java, um Técnico criou uma
interface para obrigar um conjunto de classes de diferentes origens a implementar certos métodos de
maneiras diferentes, viabilizando a obtenção de polimorfismo. A interface criada pelo Técnico pode:
Escolha uma:
a. ser instanciada diretamente.

b. conter variáveis e métodos privados.

c. possuir métodos abstratos.

d. conter métodos implementados.

e. possuir um único construtor vazio.

Em 1995, um grupo de quatro programadores conhecido como GoF (Gang of Four) publicou um livro
intitulado “Design Patterns: Elements of Reusable Object-Oriented Software”. Este livro apresentava
os chamados Padrões de Projeto, classificados em diferentes famílias. Dentre os padrões
comportamentais, temos:

1) Iterator;
2) Memento;
3) State.
Que são responsáveis por:
( ) Definir quando um objeto pode ou não mudar de estado.
( ) Permitir o acesso aos itens de um container.
( ) Armazenar o estado de um objeto.
A ordem correta que relaciona os padrões com suas responsabilidades é:
Escolha uma:
a. 1, 3, 2.

b. 2, 1, 3.

c. 3, 1, 2.

d. 3, 2, 1.

e. 1, 2, 3.

IF-PE, 2016 - IF-PE


Entender corretamente o funcionamento dos conceitos da Orientação à Objetos durante seu
funcionamento pode evitar grandes problemas durante a execução de um programa OO. A esse
respeito utilize seus conhecimentos sobre herança, sobrescrita e polimorfismo para deduzir o
comportamento do código abaixo. Em seguida, assinale a alternativa que contém o resultado da
execução deste código.

Escolha uma:
a. Imprime: Administrativo Pessoa.

b. Imprime: Maria Administrativo Pessoa.

c. Imprime: Pessoa Administrativo.


d. O código não executa.

e. Imprime: Administrativo Pessoa Maria.


CESGRANRIO, 2007 – EPE
Que característica NÃO é fundamental em uma linguagem de programação orientada a objeto?
Escolha uma:
a. Instanciação de objetos.

b. Herança múltipla.

c. Herança simples.

d. Criação de classes.

e. Encapsulamento.
Fundação Carlos Chagas, 2009 – TJ-PI
No âmbito dos princípios de concepção e programação orientada a objeto, é correto afirmar que "um
objeto da subclasse é um objeto da superclasse, ou seja, os objetos da subclasse podem ser tratados
como objetos da superclasse". Esta afirmação é possível quando se refere ao contexto de:
Escolha uma:
a. Polimorfismo.

b. Herança.

c. Abstração.

d. Encapsulamento.

e. Reutilização.
Existem alguns dados, utilizados em sistemas comerciais, que são categorizados, como por exemplo
uma lista de cores (vermelho, amarelo, azul, ...), dias da semana (segunda, terça, quarta, ...), e assim
por diante. Para facilitar a implementação desse tipo de dado, algumas linguagens permitem a criação
de enumeradores. Em C#, a cláusula utilizada para criação de um enumerador é:
Escolha uma:
a. enumerador.

b. enumerate.

c. enum.

d. enumerator.

e. num.
CESPE - 2016 - TRE-PI
Considerando o desenvolvimento de um projeto de software orientado a objetos, projetar a arquitetura
do sistema envolve.
Escolha uma:
a. identificar os principais componentes do sistema e suas interações.

b. definir as interações entre o sistema e o ambiente em que está inserido.


c. desenvolver o modelo de projeto do sistema.

d. especificar as interfaces entre os diversos componentes do sistema.

e. identificar as classes de objetos que compõem o sistema.


As variáveis são partes importantes no desenvolvimento de uma aplicação, em C++, assim sendo,
para fazer a declaração de uma variável qual seria a maneira correta? Escolha uma das opções
apresentadas a seguir para responder à questão levantada, no enunciado.
Escolha uma:
a. num = 44;

b. Nenhuma está correta.

c. int num = ‘0’;

d. int = 44;

e. int num;
FCC - 2013 - DPE-SP - Agente de Defensoria – Programador
Um design pattern descreve uma solução geral comprovada e reutilizável para um problema
recorrente no desenvolvimento de sistemas de software orientados a objetos. Padrões de projeto
ajudam a reconhecer e implementar boas soluções para problemas comuns. Dois dos principais
designs patterns utilizados atualmente são descritos a seguir:
I. Visa garantir que uma classe só tenha uma única instância e prover um ponto de acesso global a
ela.
II. Visa definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de
estado os seus dependentes sejam notificados e atualizados automaticamente.
Os designs patterns descritos em I e II são, respectivamente:
Escolha uma:
a. Facade e Observer.

b. Composite e Adapter.

c. Singleton e Observer.

d. Facade e Adapter.

e. Singleton e Command.
AOCP, 2012 – BRDE
Preencha as lacunas e, em seguida, assinale a alternativa correta. Uma classe _______________ é
aquela que contém uma declaração de método vazia e definições concretas de métodos e variáveis
de instância. Desta forma uma classe ___________ situa-se entre uma __________ e uma classe
__________ . Da mesma forma que uma interface, esse tipo de classe não pode ser ____________ .
Escolha uma:
a. concreta / concreta / interface / concreta / estendida.

b. pública / pública / concreta / interface / instanciada.

c. protegida / protegida / concreta / interface / estendida.

d. privada / privada / pública / protegida / estendida.


e. abstrata / abstrata / interface / concreta / instanciada.

As estruturas homogêneas servem para permitir o armazenamento de mais de um valor de mesmo


tipo de dado, sob uma única variável, na forma de arranjo indexado. Assinale (V) para as afirmativas
verdadeiras e (F) para as afirmativas falsas, a respeito de arranjos:
( ) podem ser unidimensionais, bidimensionais ou multidimensionais
( ) são estruturas de armazenamento dinâmico, seu tamanho pode ser alterado a qualquer momento
( ) são chamados de “arrays”
( ) na Linguagem C#, os arranjos são objetos.
Escolha uma:
a. V, F, V, V.

b. F, F, V, V.

c. V, V, V, V.

d. F, V, V, V.

e. V, F, V, F.
FGV, 2013 - TJ-AM
Observe o código Java a seguir, que ilustra a utilização da instrução for-each.

A execução dessa classe irá gerar o seguinte resultado:


Escolha uma:

Na criação de um programa em C++ o desenvolvedor resolveu criar duas classes main, as quais ele
deu nome de main1 e main2, na inicialização do programa ele colocou a chamada dessas classes
para uma abaixo da outra, chamando primeiramente main2 e logo na sequência main1, nesse casso o
que aconteceria na compilação desse programa? Escolha uma das opções apresentadas a seguir
para responder à questão levantada, no enunciado.
Escolha uma:
a. O programa não iria funcionar, pois é permitida apenas uma main por programa.

b. O programa iria executar apenas a main1.

c. O programa iria identificar o nome da classe main1 e iniciaria ela antes de main2.

d. O programa inicializaria a classe main2 e logo na sequência a main1.

e. O programa iria executar apenas a main2.