via a mechanism known as "parasitic inheritance".
Simply speaking this method "extends another class". What is actually
happening is that it creates an instance of class name ...className
,
by taking another BasicObject instance and add ...className
to
the class list and also add all the named values in ...
as fields to the
new instance.
The method should be used by the constructor of a class and nowhere else.
# S3 method for BasicObject
extend(this, ...className, ...)
The name of new class.
Named values representing the fields of the new instance.
Returns an BasicObject of class className
.
For more information see BasicObject
.