在继承中,如果子类不遵守所有超类行为,该怎么办?

use*_*155 4 java oop inheritance

就像有一个哺乳动物类有行走的行为,所有子类应该遵守.

但很少有像海豚和蝙蝠这样的哺乳动物没有这种行为.

我们怎么能实现这个呢?

按照我的说法,所有子类都应该遵守与超类相关的所有行为.

任何帮助表示赞赏.谢谢!

Alb*_*gni 6

哺乳动物类应该只为所有哺乳动物定义共同的特征,正如你所说,行走不是一个常见的特征.

可以使用接口添加行为,如下例所示

class abstract Mammal {

    abstract void regulateTemperature();

}

interface CanFly {

    void land();
    void takeOff();

}

class Bat extends Mammal implements CanFly {

}
Run Code Online (Sandbox Code Playgroud)

对不起,如果我犯了语法错误,我的Java有点生疏,但你明白了,就像你在基类中一样通用.这就是说我同意@dystroy,在动物领域获得继承是很困难的.您可能想要尝试通过建模灯或衬衫,从比这更简单的方式开始.