2014-04-22 27 views
3

今天,我意識到,調用super.foo()可能不僅是一個壓倒一切的foo方法裏面,而且裏面完全不相關的方法:調用來自無關方法超級方法

class Base 
{ 
    void foo() 
    { 
    } 
} 

class Derived extends Base 
{ 
    void foo() 
    { 
    } 

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

是否有任何真實世界的場景,設計模式或無論這在哪裏實際上有用?

+0

你的意思是你想在哪裏混合'foo'和'super.foo'?否則你應該在foo中做超級,然後調用'foo'。這個評論中太多富有?有可能。 – keyser

+0

有時你只是不喜歡你如何實現foo,但你確實喜歡你的父母如何做到這一點。 –

+0

@LoganMurphy我正在尋找具體的,具體的,真實世界的場景。 – fredoverflow

回答

2

當子類想要爲方法提供比父類更有意義的名稱,或提供有關方法名稱中的操作的其他信息時,這會很有幫助。