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.";
};