Skip to content

Instantly share code, notes, and snippets.

@MelvinRB27
Created October 5, 2023 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MelvinRB27/2dcae6b829a8b048cf6a98087f356647 to your computer and use it in GitHub Desktop.
Save MelvinRB27/2dcae6b829a8b048cf6a98087f356647 to your computer and use it in GitHub Desktop.
mixins
void main() {
final batman = Murcielago();
batman.volar();
batman.caminar();
final donald = Pato();
donald.nadar();
donald.caminar();
donald.volar();
}
abstract class Animal {}
abstract class Mamifero extends Animal {}
abstract class Ave extends Animal {}
abstract class Pez extends Animal {}
abstract mixin class Caminante {
void caminar() => print("estoy caminando");
}
abstract mixin class Volador {
void volar() => print("estoy volando");
}
abstract mixin class Nadante {
void nadar() => print("estoy nadando");
}
class Delfin extends Mamifero with Nadante {}
class Murcielago extends Mamifero with Caminante, Volador {}
class Gato extends Mamifero with Caminante, Nadante {}
class Paloma extends Ave with Caminante, Volador {}
class Pato extends Ave with Caminante, Volador, Nadante {}
class Tiburon extends Pez with Nadante {}
class PezVolador extends Pez with Nadante, Volador {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment