Overriding a super class's instance variables

后端 未结 9 1915
暗喜
暗喜 2020-11-30 07:47

Why are we not able to override an instance variable of a super class in a subclass?

9条回答
  •  失恋的感觉
    2020-11-30 08:14

    If you have the need to override an instance variable, you are almost certainly inheriting from the worng class.

    In some languages you can hide the instance variable by supplying a new one:

    class A has variable V1 of type X;
    
    class B inherits from A, but reintroduces V1 of type Y.
    

    The methods of class A can still access the original V1. The methods of class B can access the new V1. And if they want to access the original, they can cast themself to class A (As you see dirty programming provokes more dirty progrtamming).

    The best solution is to find another name for the variable.

提交回复
热议问题