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
extendsesuper, sobrescrever métodos com@overridee escrever código polimórfico que trataPlayer,EnemyeBossda 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
Playertotalmente encapsulada, com vidas sempre limitadas entre 0 e um máximo; - explicar o que é herança e para que ela serve;
- usar
extendspara 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>contendoPlayereEnemy; - usar
iseaspara 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