Imagen del artículo Conceptos básicos de dardos: herencia y polimorfismo

3.7. Conceptos básicos de dardos: herencia y polimorfismo

Página 25 | Escuchar en audio

Antes de sumergirse en la creación de aplicaciones con Flutter, es importante tener una comprensión sólida del lenguaje de programación Dart, que es la columna vertebral de Flutter. Dos conceptos fundamentales en Dart, y en la programación orientada a objetos en general, son la herencia y el polimorfismo. Exploremos estos conceptos en detalle.

Herencia

La herencia es un principio fundamental de la programación orientada a objetos que permite que una clase herede las propiedades y métodos de otra clase. La clase que se hereda a menudo se denomina "clase principal" o "superclase", mientras que la clase heredera se denomina "clase secundaria" o "subclase".

En Dart, la herencia se logra utilizando la palabra clave 'extends'. Por ejemplo, si tenemos una clase 'Animal' con propiedades como 'nombre' y 'edad' y métodos como 'comer' y 'dormir', podemos crear una nueva clase 'Perro' que hereda de 'Animal' de la siguiente manera: < /p>

clase Animal {
  Nombre de cadena;
  edad interna;

  comer() {
    print('$nombre está comiendo.');
  }

  dormir() {
    print('$nombre está durmiendo.');
  }
}

clase Perro extiende Animal {
  ladrar() {
    print('$nombre está ladrando.');
  }
}

La clase 'Perro' ahora tiene acceso a todas las propiedades y métodos de la clase 'Animal', además de todo lo que ella misma defina. Esto es útil porque nos permite reutilizar código y organizar nuestro código de forma lógica y jerárquica.

Polimorfismo

El polimorfismo es otro principio fundamental de la programación orientada a objetos que permite que una clase tenga muchas formas. Esto puede significar que una clase secundaria puede anular un método de clase principal o que un método puede procesar diferentes tipos de objetos.

En Dart, el polimorfismo se logra utilizando la palabra clave 'override'. Por ejemplo, si queremos que la clase 'Perro' tenga una versión diferente del método 'eat' de la clase 'Animal', podemos hacerlo de la siguiente manera:

clase Perro extiende Animal {
  @anular
  comer() {
    print('$nombre está comiendo comida para perros.');
  }
}

Ahora, cuando llamemos al método 'eat' en un objeto de la clase 'Perro', veremos el mensaje 'el nombre está comiendo comida para perros' en lugar de 'el nombre está comiendo'.

El polimorfismo también permite que un método procese diferentes tipos de objetos. Por ejemplo, podemos tener un método 'makeAnimalEat' que acepte un objeto de la clase 'Animal' y llame a su método 'eat'. Este método funcionará tanto para objetos de la clase 'Animal' como para objetos de cualquier clase que herede de 'Animal', como la clase 'Perro'.

hacerAnimalEat(Animal animal) {
  animal.comer();
}

En resumen, herencia y polimorfismo son conceptos fundamentales en Dart que nos permiten reutilizar y organizar nuestro código de manera efectiva. Son fundamentales para crear aplicaciones usando Flutter y son conceptos que usarás una y otra vez al crear tus propias aplicaciones.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de los siguientes conceptos de programación orientada a objetos permite que una clase herede las propiedades y métodos de otra clase en Dart?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Conceptos básicos de Dart: manejo de excepciones

Siguiente página del libro electrónico gratuito:

26Conceptos básicos de Dart: manejo de excepciones

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.