Classes calling classes
- label:
Note to avoid confusion.
Herein the terminology is being used strictly: the term
classis used to refer to aclassproper and not aninstanceof that class.
The Laboratory class has a class attribute .Victor,
which is simply the class Victor, unless a subclass of Victor is passed.
This class will be called to create a Victor instance for each task within the Laboratory instance.
In fragmenstein.faux_victors are a few such subclasses of Victor, which were used for testing.
Likewise, Victor class has a class attribute .Monster, which is simply the class Monster.
This is not to be confunded with the Monster instance, monster that is created by Victor instantiation.
Until issue 34 is resolved,
there is a confusing detail in that Victor.monster_throw_on_discard is a class attribute
that when Monster is instantiated sets the Monster instance’s attribute throw_on_discard.