Programa de registro de funcionários
// arquivo - funcionario.dart
abstract class Funcionario {
final String nome;
double salarioBase;
Funcionario(this.nome, {this.salarioBase = 3000});
void calcularSalario() {
print(salarioBase);
}
}
/*
analista: salário base = salário base + salário base multiplicado por 1.2;
gerente: salário base = salário base + salário base multiplicado por 1.5;
diretor: salário base = salário base + salário base multiplicado por 2.0.
*/
class Analista extends Funcionario {
Analista(super.nome, {super.salarioBase});
@override
void calcularSalario() {
double salario = (salarioBase + (salarioBase * 1.2));
print('Salário do Analista $nome: R\$ $salario');
}
}
class Gerente extends Funcionario {
Gerente(super.nome, {super.salarioBase});
@override
void calcularSalario() {
double salario = (salarioBase + (salarioBase * 1.5));
print('Salário do Gerente $nome: R\$ $salario');
}
}
class Diretor extends Funcionario {
Diretor(super.nome, {super.salarioBase});
@override
void calcularSalario() {
double salario = (salarioBase + (salarioBase * 2.0));
print('Salario do Diretor $nome: R\$ $salario');
}
}
// arquivo - registro_de_funcionario.dart
import 'funcionario.dart';
void main(List<String> arguments) {
Funcionario charles = Analista('Charles');
charles.calcularSalario();
Funcionario pedro = Gerente('Pedro');
pedro.calcularSalario();
Funcionario joao = Diretor('João');
joao.calcularSalario();
}