1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| def individual = Contact { firstName: "Julien", lastName: "Jabbot", role: "Senior Developer" };
//~ individual.printInfo();
//~ println(individual.id);
(individual as Person).printInfo();
(individual as Employee).printInfo();
println("{(individual as Person).id}");
println("{(individual as Employee).id}");
mixin class Person
{
var firstName = "Fabien";
var lastName = "Flubbler";
var id = 89771;
function printInfo()
{
println("{firstName} {lastName}");
}
abstract function isAlive();
}
mixin class Employee
{
var role = "Project Manager";
var id = 11666342;
function printInfo()
{
println("{role}");
}
}
class Contact extends Person, Employee { override function isAlive() { return Person.id > 0; } } |
Partager