如果AbstractMethodA不适用于Child-B,则Child-B不应该从Parent-A继承。
或者,如果Child-B从Parent-A继承,并且AbstractMethodA不适用于子级,则它不应该在父级中。
通过在Parent-A中添加一个方法,您表示该方法适用于Parent-A及其所有子项。这就是继承意味着,如果你用它来表示不同的东西,你最终会与编译器发生严重的争执。
[编辑 - 也就是说,如果该方法确实适用,Mladen Prajdic的答案没问题,但对于涉及的一个或多个类别应该什么也不做。一种什么都不做的方法是与不适用的方法不同,但也许我们并不是指“不适用”的同一个事物]
另一种技术是在Child中实现该方法-B无论如何,但要让它像总是返回失败一样激烈,或者抛出异常或其他东西。它的工作原理,但应该被认为是一个闪光点,而不是一个干净的设计,因为这意味着来电者需要知道他们有什么东西,他们对待父母A是真的一个孩子B和因此他们不应该调用AbstractMethodA。基本上你已经抛弃了多态,这是OO继承的主要好处。就我个人而言,我更喜欢这样做,因为在基类中有一个抛出异常的实现,因为这样子类就不会“意外”地通过“遗忘”来执行该方法。它必须实现它,如果它实现它不起作用,那么它明确地这样做。糟糕的情况应该是嘈杂的。