oo advanced: constructors, readonly properties...

oo advanced: constructors, readonly properties and class variables.