I propose an idea, for discussion (robust discussion even better ;-)

Add an new attribute to class, named 'sealed'.

No, not sealed as in Scala.

No, not sealed as in C#

sealed as in oxford dictionary (close securely, non-porous).

when sealed is applied on the class, this means the class is sealed.

the sealed attribute only makes sense within a module, and affects nothing outside of the module.

When sealed is applied to the class, then, interfacing to a class within a module, from code outside that class - but still within the module, can now only occur via the published interface of the class.

outside code in the module, can no longer directly access your private parts!

The class is sealed.

Reply via email to