Vergleiche Java:
public abstract class Person { protected Person(){} public abstract String getName(); public static Person printName(){ return ONEPERSON; } private static final Person ONEPERSON = new Person(){ @Override public String getName() { return "My name is Mike."; } }; }
Person contains
{
private:
ONEPERSON is static Person contains
{
getName is overwritten String() : "My name is Mike.";
};
protected:
construct;
public abstract:
getName is string(); // statt is abstract code -> string;
public:
printName is static Person() : ONEPERSON;
};
oder
Person contains
{
private:
ONEPERSON is static Person implements
{
getName is String() : "My name is Mike.";
}
...
};
Worker is implicit Person
{
implements Person:
getName is String() : "My name is irrelevant.";
};