Это ломается Принцип замещения Лискова (a.k.a. LSP ):
Пусть q (x) - свойство, доказуемое для объектов x типа T. Тогда q (y) должно быть истинным для объектов y типа S, где S - это подтип T.
Я также считаю это правилом IS-A . Если класс B является производным от класса A, он должен поддерживать все те же функциональные возможности, что и класс A, и не нарушать его поведение в процессе. Если что-то потребляет объект класса A, вы должны иметь возможность передать ему объект класса B, а не разбить его.
Например, допустим, ваш базовый класс является Прямоугольник , и вы извлекаете из него класс Квадрат . Вы нарушили LSP , потому что прямоугольники могут иметь ширину, не равную их длине, тогда как квадрат не может.
В вашем случае, однако, ваш базовый класс абстрактный, поэтому LSP не подходит идеально, но я думаю, вы понимаете, к чему я клоню.