Compartilhando a solução que encontrei.
class Funcionario {
String _nome;
double _salario;
Funcionario(this._nome, this._salario);
void trabalhar () {
print('$_nome é funcionario(a) deste estabelecimento.');
}
}
class Cozinheiro extends Funcionario {
String cargo = 'Cozinheiro(a)';
Cozinheiro(super._nome, super._salario);
@override
void trabalhar() {
print('$_nome é $cargo');
}
}
class Garcom extends Funcionario {
String cargo = 'Garcom';
Garcom(super._nome, super._salario);
@override
void trabalhar() {
print('$_nome é $cargo');
}
}
class Gerente extends Funcionario {
String cargo = 'Gerente';
Gerente(super._nome, super._salario);
@override
void trabalhar() {
print('$_nome é $cargo');
}
}
import 'funcionarios.dart';
void main(List<String> arguments) {
Funcionario funcCharles = Funcionario('Charles', 1000.0);
Funcionario funcMaiane = Cozinheiro('Maiane', 1200.0);
Funcionario funcZezao = Garcom('Zezao', 800.0);
Funcionario funcJorge = Gerente('Jorge', 2000.0);
funcCharles.trabalhar();
funcMaiane.trabalhar();
funcZezao.trabalhar();
funcJorge.trabalhar();
}