I have two classes: ChildOne and ChildTwo extended from ParentClass. ChildTwo has a custom field over the inherited ones.
In some parts of the app, most of the time this ParentClass is used to display data to UI and some widgets need to know if the instance is ChildTwo to display the custom field.
However in another part of the app, I have to enhance the ParentClass, so I created another class EnhancedParentClass extends ParentClass.
This class use used in most of the widgets, but again there are some widgets that need to know the difference between the EnhancedParentClass and let's say an extended class ChildTwoEnhancedClass.
What’s the best way of solving this?
class ChildTwoEnhancedClass extends EnhancedParentClass implements ChildTwoclass ChildTwoEnhancedClass extends ChildTwo implements EnhancedParentClass
Is there a way to do this, without the need to extend the main classes “in paralel” with the “enhanced” one? Or is it something completely wrong with this implementation?
I looked over mixins, but I don’t think they fit this case, as far as I’ve seen mixins are used to share logic(mimic multiple inheritance), not necessarily share class members.
These classes are used as data immutable models.