gpt4 book ai didi

java - 禁用派生类上的继承方法

转载 作者:IT老高 更新时间:2023-10-28 21:09:52 25 4
gpt4 key购买 nike

有没有办法在 Java 派生类中“禁用”从基类继承的方法和/或字段?

例如,假设您有一个具有 rotate() 方法的 Shape 基类。您还可以从 Shape 类派生各种类型:SquareCircleUpwardArrow 等。

Shape 有一个 rotate() 方法。但是我不希望 rotate()Circle 的用户可用,因为它没有意义,或者 UpwardArrow 的用户,因为我不希望 UpwardArrow 能够旋转。

最佳答案

我认为这是不可能的。但是,您可以通过从规范中删除 rotate() 方法来进一步细化 Shape 类,而是定义另一个名为 的 Shape 子类 RotatableShape 并让 Circle 从 Shape 派生,而所有其他 Rotatable 类RotatableShape 派生。

例如:

public class Shape{
//all the generic methods except rotate()
}

public class RotatableShape extends Shape{

public void rotate(){
//Some Code here...
}
}

public class Circle extends Shape{
//Your implementation specific to Circle
}

public class Rectangle extends RotatableShape{
//Your implementation specific to Rectangle
}

关于java - 禁用派生类上的继承方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5486402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com