Académique Documents
Professionnel Documents
Culture Documents
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
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
Assinatura:
Sobrecarga de métodos:
EXERCÍCIOS PARTE 1
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.
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. somente I e II.
d. somente I e III.
e. somente II e III.
b. II e IV.
c. III e IV.
d. II e III .
e. I e III.
b. 1 e 3, apenas.
c. 1, 2 e 3.
d. 3, apenas.
e. 2 e 3, 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.
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.
c. as Classes são tipos de objetos que descrevem as informações armazenadas e os serviços providos por
um objeto.
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.
b. I e III.
c. II e IV.
d. I e II.
e. II e III.
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
c. Escrita
d. Encapsulamento
e. Esconderijo
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. 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.
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.
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
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.
c. não utilizar cláusula para o tipo de retorno, bastando iniciar a assinatura pelo nome do método.
b. V, V, V, V.
c. F, F, V, V.
d. V, V, F, F.
e. V, F, V, F.
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.
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.
b. F, F, V.
c. V, V, V.
d. V, F, V.
e. F, F, F.
b. Python.
c. COBOL.
d. Ruby.
e. C Sharp.
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.
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.
Escolha uma:
a. Imprime: Administrativo Pessoa.
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.
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. 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.
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.
c. O programa iria identificar o nome da classe main1 e iniciaria ela antes de main2.