Exerc Cios
1. Explique e contraste cada um dos seguintes pares de termos:
(i) instância e classe: As classes (agrupamento de objetos) descrevem a estrutura dos objetos (dados e funções), já uma instância refere-se a criação de um objeto específico, ou seja, a construção de um objeto de acordo com a estrutura definida na classe.
(ii) comportamento e estado: o comportamento refere-se a capacidade de realizar operações sobre um objeto (operações ou métodos), já o estado refere-se a condição de um objeto em um determinado momento (dados).
(iii) agregação e herança: a agregação possibilita representar uma abstração a partir das partes que a compõem, já a herança permite compartilhar comportamento entre classes através da reutilização do comportamento de uma classe pai.
(iv) herança e delegação: a herança permite compartilhar comportamento entre classes, já a delegação promove esse compartilhamento entre objetos.
2. Dê um exemplo de duas hierarquias: uma de generalização/especialização e outra de agregação/decomposição. Descreva as diferenças e similaridades entre as duas hierarquias.
Animal -> Mamífero e Réptil
Hospital -> Recepção e Consultório
3. Construa uma hierarquia que represente os diversos tipos de contas disponíveis para os clientes do seu banco. Lembre-se de representar a classe mais genérica, denominada ContaBancaria.
4. Defina atributos e operações para o tipo abstrato de dados CarteiraDeDinheiro. Pense a respeito do comportamento de uma carteira e sobre os atributos relacionados com esse comportamento.
5. Defina uma classe representando uma pessoa com os seguintes atributos: nome, ano de nascimento e altura (em metros). Defina operações para a iniciação desses atributos. Adicione uma operação que retorna a idade aproximada de uma pessoa de acordo com um determinado ano de entrada.
Adicione outra operação que retorna sua altura em centímetros.
6. Defina uma classe para um tipo abstrato de dados ItemDeEstoque. Ela deve conter os