Hi,
I have a question regarding rule squid:S1694 "An abstract class should have both abstract and concrete methods".
The description says: "A class with no abstract methods that was made abstract purely to prevent instantiation should be converted to a concrete class (i.e. remove the abstract keyword) with a private constructor."
But what if the abstract class is extended by another class? In that case the abstract class can not be converted to a class with a private constructor, because the sub class is not able to inherit from it.
Nevertheless the rule raises an issue in this case.
I wonder if the rule should take into account that the abstract class has sub classes. Or if this is no valid use case and inheritance isn't really required at all and I should use e.g. delegation...
What do you think?
Best regards
Tim