|
1
13
不,您不能重写静态方法。“静态”也意味着它是由编译器静态绑定的,因此要调用的实际方法不是在运行时找到的,而是在编译时绑定的。 你应该做的是使类非静态。使方法虚拟化并覆盖它,充分利用真正的继承。然后,如果你真的需要它,可以创建一个静态入口点,指向你的类的引用。例如,静态工厂、单例(在大多数情况下是一种反模式,但与静态类一样好)或只是一个静态属性。 |
|
2
9
您可以将TargetMethod存储为委托,子类可以根据需要进行更改:
然而,由于这些是静态实例
不过,总的来说,如果你不坚持静态,或者使用组合而不是继承,你会过得容易得多。 |
|
|
3
2
如果你想做抽象静态方法,那么这是可行的,事实证明这是我最容易适应的解决方案:
但我仍然将Stafan标记为解决方案,因为对于处于类似情况的人来说,使用实例继承可能是最好的建议。但我必须为它重写太多的代码。 |
|
4
2
好的,这就是我所做的
我认为这将是一个可行的解决方案,可以在不破坏太多纯粹的OO原则的情况下实现你的目标。 |
|
Fernando Chu · 一个变量有多个可能的类?[关闭] 1 年前 |
|
|
Amaterastis · 基类接受子类和内部子类的模板参数 1 年前 |
|
|
Rishab Negi · 这个关键字在抽象类中是如何工作的 1 年前 |
|
|
dEmigOd · 类层次结构中的运算符重载解析 1 年前 |
|
|
TableTopRug · 如何从Kotlin中的密封类继承? 1 年前 |
|
|
hasdrubal · 抽象基类函数指针python 1 年前 |
|
|
Josh · 通过反思访问孩子的财产 2 年前 |