Is there some rule of thumb for that decision? I always stuck with this question. Even if I know that currently I don't need the result of overriden method, how can I be sure that in the future the overriden method won't be modified? For example, there is a possibility that author of the parent class that I'm extending will decide to implement some side-effect in the method that I'm overriding and without that side-effect the state of the object will be incorrect.