如果我有一个基础类
Base thing = null;
其中有一个子类
class Subclass extends Base
我把它当成了
thing = new Subclass
我将如何调用一个特别在子类中的方法,但不是在Base中?
恩.
Base只有方法()
子类有method()和specialMethod()
方法specialMethod()是我想要调用的方法.
Base thing = null;
其中有一个子类
class Subclass extends Base
我把它当成了
thing = new Subclass
我将如何调用一个特别在子类中的方法,但不是在Base中?
恩.
Base只有方法()
子类有method()和specialMethod()
方法specialMethod()是我想要调用的方法.
解决方法
其他人已经提到如何铸造对象来获得你的问题的答案,但首先提出这个问题指向可能的设计问题.一些可能的原因:
>方法是在错误的地方.
调用该方法的代码在错误的地方.
>子类不应该扩展另一个类.最好是prefer composition over inheritance.当继承时,代码应该遵循Liskov substitution principle.
>这些课程是non-cohesive,他们有超过one responsibility,他们应该分为多个班级.