Domanda

Today I realized that calling super.foo() is possible not only inside an overriding foo method, but also inside completely unrelated methods:

class Base
{
    void foo()
    {
    }
}

class Derived extends Base
{
    void foo()
    {
    }

    void bar()
    {
        super.foo();    
    }
}

Is there any real-world scenario, Design Pattern or whatever where this is actually useful?

È stato utile?

Soluzione

This would be helpful when a child class wants to provide more meaningful names to a method than the parent class, or providing additional information about the operation in the method name.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top