Português
Espero que você aprenda muito com este exercício.
Aprofunde-se mais nos seus estudos com : Exercícios Resolvidos

10 exercícios de orientação a objetos com respostas para aprender sobre classes, objetos, herança, polimorfismo e muito mais!

Para mandar bem em provas, exames e concursos treine e aprenda gratuitamente com os exercícios de orientação a objetos resolvidos.


10 exercícios de orientação a objetos com respostas para aprender sobre classes, objetos, herança, polimorfismo e muito mais!

Considere que um Analista de TI sabe que uma classe Pessoa Física e uma classe Pessoa Jurídica possuem o atributo nome como uma informação em comum e que o CPF é um atributo específico para a Pessoa Física e o CNPJ é um atributo específico para Pessoa Jurídica. Então o Analista criou uma outra classe com o atributo nome e seu objetivo é que haja herança deste e, eventualmente, outros métodos e atributos, para as classes filhas, Pessoa Física e Pessoa Jurídica, que já existiam.

Essa classe criada não é instanciada, apenas fornece um modelo para geração de outras classes, e é denominada

A
Subclasse.
B
Classe construtora.
C
Classe abstrata.
D
Classe sobrescrita.
E
Pacote.

Parte 1 da resolução

A letra A está errada pois uma subclasse ou classe derivada é uma classe que é definida através da herança a partir de outra classe. De acordo com o enunciado do exercício as subclasses seriam as classes filhas Pessoa Jurídica e Pessoa Física.

Parte 2 da resolução

A letra B está errada pois na orientação a objetos existe o construtor de uma classe, mas é um conceito vinculado a métodos e não ao tipo de classe.

Parte 3 da resolução

A letra C está correta pois classes abstratas servem como modelos para as classes derivadas ou subclasses. As classes abstratas somente podem ser estendidas e não instanciadas e caso ela possua métodos abstratos as classes derivadas devem implementar tais métodos. Para reafirmar a resposta o enunciado do exercício diz que e "essa classe criada não é instanciada, apenas fornece um modelo para geração de outras classes" e "o Analista criou uma outra classe com o atributo nome e seu objetivo é que haja herança deste".

Parte 4 da resolução

A letra D está errada pois na orientação a objetos existe o conceito de sobrescrita de métodos e não de classe sobrescrita.

Parte 5 da resolução

A letra E está errada pois o pacote serve para organizar classes e bibliotecas e não está relacionado ao fornecimento de um modelo para geração de outras classes.

A programação orientada a objetos surgiu como uma alternativa a programação estruturada. O intuito de sua criação foi o de aproximar o manuseio das estruturas de um programa ao manuseio das coisas do mundo real, daí o nome "objeto" como uma algo genérico, que pode representar qualquer coisa tangível.


Os quatro pilares do paradigma de Orientação a Objetos são:

A
Sequenciamento, Procedimentos, Bibliotecas e Herança.
B
Herança, Polimorfismo, Classes e Objetos.
C
Classes, Atributos, Métodos e Abstração.
D
Abstração, Encapsulamento, Herança e Polimorfismo.

Parte 1 da resolução

A alternativa D está correta pois segundo o artigo "Os 4 pilares da Programação Orientada a Objetos" publicado no site devmedia, os 4 pilares da programação orientada a objeto são:

  • Abstração:
    • É utilizada para a definição de entidades do mundo real, classes. As classes possuem identidade(unicidade), propriedades(características do objeto) e métodos(ações que o objeto irá executar).

  • Encapsulamento:
    • O encapsulamento esconde detalhes internos do funcionamento dos métodos de uma classe para os objetos. A maior parte das linguagens orientadas a objetos implementam o encapsulamento baseado em propriedades privadas, ligadas a métodos especiais chamados getters e setters, que irão retornar e setar o valor da propriedade, respectivamente. Essa atitude evita o acesso direto a propriedade do objeto, adicionando uma outra camada de segurança à aplicação.

  • Herança:
    • A Herança possibilita que as classes compartilhem seus atributos, métodos e outros membros da classe entre a classe pai e as classes derivadas. Algumas linguagens, como o C++, usam herança múltipla, ou seja, um objeto pode herdar características de vários “ancestrais” ao mesmo tempo. Já outras linguagens como Java, PHP, etc, permitem somente a herança de uma classe derivada com uma classe pai somente.

  • Polimorfismo:
    • O polimorfismo ocorre quando duas ou mais classes derivadas de uma mesma superclasse invocam métodos que têm a mesma identificação (assinatura) mas comportamentos distintos. O polimorfismo está intimamente conectado à herança.

As alternativas A, B e C estão erradas pois sequenciamento, procedimento, bibliotecas, classes, objetos, atributos e métodos não são pilares do paradigma de orientação a objetos, apesar de serem conceitos importantes para a orientação a objetos.

O termo polimorfismo é originário do grego e significa "muitas formas". Polimorfismo é o princípio pela qual duas classes derivam de uma mesma superclasse, podendo invocar métodos que tenham a mesma assintura, mas comportamentos distintos.


Sobre os conceitos de Orientação a Objetos, identifique com “V” caso verdadeiro ou “F” caso falso as assertivas a seguir.

( ) A Sobrescrita permite que, em uma mesma classe, tenhamos vários métodos com o mesmo nome, mas com a assinatura diferente.

( ) Objetos são instâncias de uma classe que possui os atributos e as operações definidos na classe.

( ) Superclasse é uma especialização de um conjunto de classes através de herança.

( ) A Sobrecarga possibilita que o mesmo nome possa ser utilizado em diferentes métodos em uma mesma classe, desde que, por exemplo, as quantidades de parâmetros sejam diferentes.

( ) Classe encapsula dados para descrever o conteúdo de alguma entidade do mundo real.

A sequência correta obtida, no sentido de cima para baixo, é

A
V, F, V, F, F
B
V, V, V, F, V
C
F, V, F, V, V
D
F, V, V, V, V
E
V, V, F, F, F

Parte 1 da resolução

A afirmativa "A Sobrescrita permite que, em uma mesma classe, tenhamos vários métodos com o mesmo nome, mas com a assinatura diferente." está errada, pois sobrescrita ou override ocorre quando um método herdado de uma superclasse é especializado, alterando o seu comportamento na subclasse. A sobrescrita de métodos consiste basicamente em criar um novo método na classe filha, contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito.

Como o valor lógico do primeiro item é falso(F), então sabemos que as alternativas A, B e E estão erradas.

Parte 2 da resolução

A afirmativa "Superclasse é uma especialização de um conjunto de classes através de herança." está errada, pois os conceitos de superclasse e subclasse foram trocados, o que nos leva a conclusão que a alternativa D está errada e que a letra C é a resposta correta do exercício.


Quanto aos conceitos do paradigma da orientação a objetos, é CORRETO afirmar:

A
por meio do conceito de Polimorfismo, é possível a definição de vários métodos ou funções com o mesmo nome, porém com diferentes assinaturas. Essa característica do conceito de Polimorfismo é denominada de Delegação.
B
por meio do conceito de Herança, uma subclasse é capaz de reutilizar os métodos e atributos de uma superclasse, desde que esses métodos e atributos estejam encapsulados, ou seja, suas visibilidades estejam como “private”.
C
uma classe definida como Abstrata, é uma classe que define os seus atributos e métodos para que sejam herdados por uma outra classe que irá implementar os seus métodos. Em uma classe Abstrata não é possível a implementação dos seus métodos, somente os seus cabeçalhos.
D
em uma Interface definimos comportamentos (métodos) sem os implementar. Por meio da Interface podemos definir o que um objeto obrigatoriamente deve fazer e não como ele faz.
E
uma classe que implementa uma classe Abstrata, deverá obrigatoriamente redefinir os métodos e atributos que herdou. A classe que implementa a classe Abstrata não pode definir seus próprios atributos.

Polimorfismo é um conceito usado em programação orientada a objetos, e envolve a seleção dinâmica baseada

A
no objeto referenciado em vez do tipo da referência ao objeto, quando há a sobrescrita (overriding) de métodos.
B
no objeto referenciado em vez do tipo da referência ao objeto, quando há a sobrecarga (overloading) de métodos.
C
no tipo da referência ao objeto em vez do objeto referenciado, quando há a sobrescrita (overriding) de métodos.
D
no tipo da referência ao objeto em vez do objeto referenciado, quando há a sobrecarga (overloading) de métodos.

Considere as seguintes afirmações sobre alguns fundamentos de Análise de Sistemas orientada a objetos.

I - Classe é um conceito orientado a objeto que encapsula dados e abstrações procedurais necessárias para descrever o conteúdo e o comportamento de alguma entidade do mundo real. Podese dizer que classe é uma descrição generalizada que descreve uma coleção de objetos similares.

II - Superclasse é a generalização de um conjunto de classes a ela relacionadas.

III - Subclasse é uma especialização da superclasse. Uma subclasse herda todos os atributos e operações associadas à sua superclasse e não pode incorporar atributos ou operações adicionais específicos.

Quais estão corretas?

A
Apenas I.
B
Apenas I e II.
C
Apenas I e III.
D
Apenas II e III.
E
I, II e III.

Com relação aos conceitos de orientação objeto, existe uma característica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos e que por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe. A característica apresentada se refere a:

A
encapsulamento.
B
polimorfismo.
C
abstração.
D
herança.
E
namespaces.

Marque a alternativa que representa a definição de herança, em orientação a objetos.

A
Mecanismo que indica que o acesso aos dados (atributos) dos objetos só deve ocorrer pelos métodos do próprio objeto.
B
Mecanismo que permite o reaproveitamento de comportamentos e dados de outras classes do sistema.
C
Mecanismo que permite que métodos, com o mesmo nome, possam ser reimplementados dentro da própria classe.
D
Representação do quanto uma classe depende de outra classe do sistema.
E
Representação das características essenciais de um objeto e que o diferencia de outros objetos do sistema.

No contexto dos principais elementos conceituais do modelo de objetos, assinale a alternativa que define corretamente o conceito de encapsulamento.

A
É a capacidade de uma abstração referenciar outro tipo de dados abstrato, reutilizando comportamento e estabelecendo uma hierarquia de tipos que permite o reuso.
B
É o processo de compartimentalizar os elementos de uma abstração que constituem sua estrutura e comportamento, servindo para separar a interface contratual de uma abstração e sua implementação.
C
Refere-se à capacidade de salvar atributos de um objeto em um meio permanente de persistência, tais como bancos de dados ou arquivos, possibilitando que objetos possam reutilizar o seu estado em diferentes execuções de um mesmo programa.
D
Consiste em dividir um programa em módulos que podem ser compilados separadamente e ter conexões com outros módulos.
E
Denota as maneiras pelas quais um objeto pode agir e reagir, constituindo toda a visão externa estática e dinâmica da abstração.

O Polimorfismo, um dos Pilares da Programação Orientada a Objetos - POO,

A
ocorre quando uma classe tem um relacionamento do tipo “1 para” com outra classe e isso implica no modo como a definição das classes devem ocorrer nas aplicações.
B
consiste em esconder os atributos da classe de quem for utilizá-la. Isso se deve a: 1 - para quem for usar a classe não a use de forma errada; e 2 - para que implementação seja feita por meio dos métodos get e set.
C
permite que um mesmo método possa ter vários comportamentos e a definição de qual comportamento será executado se dá pelo valor diferente de um de seus atributos.
D
é um conceito que permite que as características bem como as operações, de um modo global, possam ser repassadas para várias funcionalidades da aplicação.
E
permite utilizar atributos e operações diferentes de uma subclasse, acrescentando ou substituindo características herdadas da classe pai.

Perguntas e Respostas

1.  O que é orientação a objetos ?

Lute até o fim, porque sua vida dependerá da força que você tem dentro de ti.


exerciciosresolvidos.com.br

Acreditamos na educação gratuita e de qualidade. Nos ajude com sua opinião, sugestão ou crítica enviando um e-mail para: exerciciosresolvidosbr@gmail.com

Copyright © 2024. Built with ❤ Love