Exercícios de Orientação a Objetos
-
Monte um tutorial acerca de como representar os conceitos básicos em uma linguagem orientada a objetos de sua escolha (excetuando-se Java).
-
Descreva o que é polimorfismo, como ele ocorre, e qual o seu impacto (vantagens e desvantagens) na programação de sistemas. Exemplifique.
-
Conceitue sobrescrita (overriding) e sobrecarga (overloading) de métodos em linguagens de programação orientadas a objetos, exemplificando.
-
Conceitue herança e descreva três situações nas quais seria adequada a sua utilização. Mostre um exemplo de código.
-
O que são e para que servem as classes abstratas nas linguagens de programação orientadas a objetos? Descreva ao menos três situações nas quais seria adequado usar tais classes.
-
Qual a vantagem do uso dos tipos genéricos em sistemas orientados a objetos? Em que situações eles devem ser utilizados. Exemplifique ao menos três situações nas quais é interessante usar tal mecanismo.
-
Em relação aos conceitos de POO, considere as seguintes afirmações:
-
Os métodos são usados para definir operações em classes.
-
As classes são usadas como mecanismos de abstração e são usadas para representar conceitos do mundo real e do mundo computacional.
-
Instâncias de classe normalmente são criadas através do uso dos chamados construtores, que criam objetos de uma determinada classe.
Assinale a alternativa certa:
-
Apenas a I é incorreta.
-
Apenas a II é incorreta.
-
Apenas a III é incorreta.
-
Apenas a I e a III são incorretas.
-
Nenhuma está incorreta.
-
-
Em relação à herança em Java, assinale a alternativa correta:
-
Um objeto de uma superclasse sempre pode ser atribuído, sem erros de compilação, para uma variável cujo tipo é de uma de suas subclasses.
-
A herança é a única forma usada para acessar métodos e atributos externos a uma classe.
-
É impossível substituir completamente o comportamento de um método de uma superclasse, podendo-se apenas estender o comportamento deste método.
-
A sobrecarga é usada para definir mais de um método com o mesmo parâmetro em uma superclasse, para assim poderem ser usados por suas subclasses.
-
Uma subclasse herda todos os atributos e métodos não privados de sua superclasse. Podem ser adicionados novos atributos e métodos a uma subclasse.
-
-
Crie classes para manipular contas bancárias. As contas podem ser dos tipos poupança e conta corrente. Deve ser possível:
-
Obter o saldo da conta
-
Modificar o saldo da conta
-
Sacar um valor da conta
-
Depositar um valor da conta
-
Transferir um valor para outra conta
-
Bloquear e liberar uma conta da seguinte forma:
c1.bloquear()ec1.liberar(). Se a conta estiver bloqueada, é possível somente obter e modificar o saldo da conta.
-
-
Implemente o jogo Campo Minado usando Java para o terminal.
Este artigo é uma adaptação de conteúdo do livro Orientação a Objetos com Java, de Eduardo Kessler Piveta.