void main() {
var ceo1 = CEO();
ceo1.startproject();
}
class Employee {
void work() {
print("Work");
}
}
class HR extends Employee {
void recruit() {
print("Recruit Employee");
}
void keeplog() {
print("keep log for recurit ");
}
}
class Manager extends Employee with CanManageProject {}
class CEO extends HR with ExecutiveDecision, CanManageProject {
void startproject() {
manageproject();
keeplog();
}
}
class CTO extends HR with ExecutiveDecision, CanManageProject {}
mixin CanManageProject {
void manageproject() {
print("manage project");
}
void keeplog() {
print("Log for managing project");
}
}
mixin ExecutiveDecision on HR {
void decision() {
print("Executive Decision");
}
void keeplog() {
print("Log for Executive Decision");
}
}