The only difference between your sub-classes is the function that returns constant data. Modify these functions so that they return a (new) read-only value in the superclass and then destroy the subclass.
Motivation: the purpose of creating a subclass is to add new features or change its behavior. There is a change behavior called a constant function, which returns a hard-coded value. This has its own purpose: You can let the same access function of different subclasses return different values. You can declare an access function as an abstract function in a superclass and let it return different values in different subclasses.
Although a constant function has its own purpose, it does not have enough value if it has only a constant function in its subclass. You can design a field corresponding to the return value of the constant function in the superclass to completely remove such a subclass. In this way, the extra complexity caused by inheritance can be avoided.