These classes are dumb factories. The create() method already returns objects of the base class. For this reason they should not inherit from the base class and the constructor should be made private to prevent objects of these classes from being created.
As an example it's just not useful to be able to call a ->length(XXX) method on these classes when the length is implied within the class name.
These classes are dumb factories. The
create()method already returns objects of the base class. For this reason they should not inherit from the base class and the constructor should be made private to prevent objects of these classes from being created.As an example it's just not useful to be able to call a
->length(XXX)method on these classes when the length is implied within the class name.