0%
Encapsulamento, herança, polimorfismo — Capítulo 10

Capítulo 10 — Encapsulamento, herança, polimorfismo

Parte 1A — Aprender Dart · Capítulo 10 de 62 · 7 h

Capítulo 10 — Encapsulamento, herança, polimorfismo

Nível: intermediário Duração estimada: 7 h Pré-requisitos: capítulo 09 — Construtores e modelagem O que você saberá fazer ao final: proteger os dados de uma classe com membros privados, getters e setters validados, construir uma hierarquia de classes com extends e super, sobrescrever métodos com @override e escrever código polimórfico que trata Player, Enemy e Boss da mesma forma.


10.0 — Objetivos do capítulo

Ao final deste capítulo, você será capaz de:

  • citar os três pilares da POO abordados aqui;
  • explicar o que é encapsulamento com suas próprias palavras;
  • mostrar concretamente o perigo de uma propriedade pública que pode ser modificada de qualquer jeito;
  • declarar um membro privado com o prefixo _;
  • explicar que o escopo do _ é a biblioteca (o arquivo), e não a classe;
  • escrever um getter que expõe um valor somente leitura;
  • escrever um setter que valida o valor antes de aceitá-lo;
  • escrever métodos privados de apoio interno;
  • construir uma classe Player totalmente encapsulada, com vidas sempre limitadas entre 0 e um máximo;
  • explicar o que é herança e para que ela serve;
  • usar extends para criar uma subclasse;
  • dizer com precisão o que é herdado e o que não é;
  • chamar o construtor da classe pai com super;
  • chamar um método da classe pai com super.metodo();
  • redefinir (override) um método herdado;
  • usar corretamente a anotação @override;
  • explicar o polimorfismo com um exemplo;
  • percorrer uma List<Character> contendo Player e Enemy;
  • usar is e as para testar e converter um tipo;
  • construir a hierarquia Character → Player / Enemy / Boss;
  • reconhecer as situações em que a herança é uma má escolha.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!