Edutech

EDUCAÇÃO E TECNOLOGIA

Herança, polimorfismo, encapsulamento e acoplamento em Java- Pesquisa individual no caderno

Tema: Herança, polimorfismo, encapsulamento e acoplamento entre classes
Formato: Pesquisa individual, feita no caderno

Orientações

Não é necessário conhecer os conceitos antes de começar. Pesquise cada um e responda às questões com suas próprias palavras.

  • Anote as fontes consultadas: título do material ou site e endereço, se houver.
  • Use exemplos e explique seu raciocínio. Uma definição copiada, sem explicação, não demonstra compreensão.
  • Se usar uma ferramenta de IA, anote qual pergunta fez e confira as informações em outra fonte.
  • O professor poderá pedir que você explique ou dê outro exemplo de uma resposta.

Etapa 1 — Pesquise e investigue

1. Herança

  • O que é herança na programação orientada a objetos?
  • Para que ela pode ser útil?
  • No exemplo pesquisado, qual classe herda de qual outra classe?
  • Que características as classes poderiam compartilhar? O que deveria ser diferente?
  • Uma classe filha deve herdar qualquer característica da classe pai? Dê um exemplo de algo que não faria sentido herdar.

2. Polimorfismo

  • O que é polimorfismo?
  • Pesquise um exemplo em Java no qual classes diferentes tenham comportamentos diferentes associados a um mesmo método.
  • O que cada classe faz quando esse método é chamado?
  • Se uma terceira classe fosse acrescentada, o que ela precisaria fazer para apresentar seu próprio comportamento?

Analise este exemplo:

class Animal {
    void emitirSom() {
        System.out.println("Som genérico");
    }
}

class Cachorro extends Animal {
    @Override
    void emitirSom() {
        System.out.println("Au au!");
    }
}

Animal animal = new Cachorro();
animal.emitirSom();

Que resultado você espera? Explique por que uma variável do tipo Animal pode produzir o comportamento definido em Cachorro.

3. Encapsulamento

  • O que é encapsulamento?
  • Para que serve o modificador private em Java?
  • Imagine uma classe ContaBancaria com o atributo saldo. Que problema poderia ocorrer se qualquer parte do programa pudesse alterar esse saldo livremente?
  • Proponha uma regra para controlar uma alteração. Por exemplo: que condição um depósito deve cumprir para ser aceito?
  • Se um atributo é private, como a classe poderia permitir uma consulta ou alteração controlada?

4. Acoplamento entre classes

  • O que significa dizer que uma classe depende de outra?
  • O que são alto e baixo acoplamento?
  • Imagine que uma classe Relatorio só funcione com objetos da classe Cachorro. O que poderia ser necessário mudar se o sistema também precisasse incluir gatos?
  • Com base na sua pesquisa, como seria possível deixar esse sistema mais fácil de ampliar? Explique sua proposta.

Etapa 2 — Crie um exemplo próprio

Escolha um contexto diferente do exemplo pesquisado — por exemplo, escola, loja, biblioteca, jogo ou aplicativo.

No caderno:

  1. Desenhe um diagrama simples com uma classe geral e pelo menos duas classes específicas.
  2. Indique um atributo que deveria ser protegido.
  3. Indique um método que poderia ter comportamentos diferentes nas classes específicas.
  4. Escreva um pequeno trecho de código Java ou pseudocódigo para mostrar sua ideia. Não é necessário criar um programa completo.
  5. Identifique no exemplo onde aparecem herança, polimorfismo e encapsulamento.
  6. Imagine que uma terceira classe específica será acrescentada. O que precisaria mudar? Sua proposta facilitaria ou dificultaria essa mudança? Justifique usando a ideia de acoplamento.

Etapa 3 — Reflexão

  • Qual conceito foi mais difícil de compreender? Que exemplo ajudou mais?
  • Entre os quatro conceitos, qual você considera mais importante quando um programa cresce? Explique com uma situação concreta.

claudineia

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Voltar ao topo