Dart is fully object-oriented. Everything is an object.
Dart
class Student {
String name;
int age;
Student(this.name, this.age);
Student.guest() : name = 'Guest', age = 0;
String introduce() => 'Hi, I am $name, age $age';
}Inheritance
Dart
class Animal {
String name;
Animal(this.name);
void speak() => print('$name makes a sound');
}
class Dog extends Animal {
Dog(String name) : super(name);
@override
void speak() => print('$name barks');
}Mixins
Dart
mixin Swimmable { void swim() => print('Swimming!'); }
mixin Flyable { void fly() => print('Flying!'); }
class Duck extends Animal with Swimmable, Flyable {
Duck() : super('Duck');
}Next: async.