现在有
类A
类B extends类A
类X 含有一个protected的声明为A的变量a
类Y extends类X, 此类中把a实例化为B的实例
现在我在类X中调用类A的业务逻辑, 没有问题
而在类Y中使用B的逻辑, 每次调用都要把a显示的转化为B类型才能用
这样好像比较麻烦有什么好办法没有呢?
类A
类B extends类A
类X 含有一个protected的声明为A的变量a
类Y extends类X, 此类中把a实例化为B的实例
现在我在类X中调用类A的业务逻辑, 没有问题
而在类Y中使用B的逻辑, 每次调用都要把a显示的转化为B类型才能用
这样好像比较麻烦有什么好办法没有呢?
具体就是把B类型比A类型多出来的逻辑方法,抽出到A类型中,抽象方法。
这样你在Y中调用B的逻辑也不用显式类型转化了。
其实还有类C,D extends A
所以把B,C,D里面共同的逻辑都写在了A里面
而B,C,D里面都有自己逻辑需要在不同的V,W,Z类里面使用
你在Y中声明B类型变量的时候同时也做实例化了吗?
如果没有可以在调用共同的逻辑之前再实例化,
这样就不必转型了。
在Y中实例化为B的实例
你是说应该在什么时候实例化呢