0%
Encapsulación, herencia, polimorfismo — Capítulo 10

Capítulo 10 — Encapsulación, herencia, polimorfismo

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

Capítulo 10 — Encapsulación, herencia, polimorfismo

Nivel: intermedio Duración estimada: 7 h Requisitos previos: capítulo 09 — Constructores y modelado Lo que sabrás hacer al final: proteger los datos de una clase con miembros privados, getters y setters validados, construir una jerarquía de clases con extends y super, redefinir métodos con @override, y escribir código polimórfico que trate Player, Enemy y Boss de la misma manera.


10.0 — Objetivos del capítulo

Al final de este capítulo, serás capaz de:

  • citar los tres pilares de la POO que se tratan aquí;
  • explicar qué es la encapsulación con tus propias palabras;
  • mostrar de forma concreta el peligro de una propiedad pública que se puede modificar de cualquier manera;
  • declarar un miembro privado con el prefijo _;
  • explicar que el alcance del _ es la biblioteca (el archivo), no la clase;
  • escribir un getter que expone un valor en solo lectura;
  • escribir un setter que valida el valor antes de aceptarlo;
  • escribir métodos privados de ayuda interna;
  • construir una clase Player totalmente encapsulada, con vidas siempre acotadas entre 0 y un máximo;
  • explicar qué es la herencia y para qué sirve;
  • usar extends para crear una subclase;
  • decir con precisión qué se hereda y qué no;
  • llamar al constructor padre con super;
  • llamar a un método padre con super.methode();
  • redefinir (override) un método heredado;
  • usar correctamente la anotación @override;
  • explicar el polimorfismo con un ejemplo;
  • recorrer una List<Character> que contiene Player y Enemy;
  • usar is y as para comprobar y convertir un tipo;
  • construir la jerarquía Character → Player / Enemy / Boss;
  • reconocer las situaciones en las que la herencia es una mala elección.

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!