這與方法過載沒關係。他們的區別就在於一個是介面的隱式實現,一個是顯示實現。
publicinterfaceiroom
{
intaddroom();
}
publicclassroom:iroom
publicintaddroom()
thrownewexception("themethodoroperationisnotimplemented.");
intiroom.addroom()
正常情況下,如果你這樣呼叫room:
roomroom=newroom();
room.addroom();
那麼執行的是addroom方法,這成為隱式實現。
如果這樣呼叫room:
((iroom)room).addroom();
那麼執行的是iroom.addroom()方法。這稱之為顯示實現。
這與方法過載沒關係。他們的區別就在於一個是介面的隱式實現,一個是顯示實現。
publicinterfaceiroom
{
intaddroom();
}
publicclassroom:iroom
{
publicintaddroom()
{
thrownewexception("themethodoroperationisnotimplemented.");
}
intiroom.addroom()
{
thrownewexception("themethodoroperationisnotimplemented.");
}
}
正常情況下,如果你這樣呼叫room:
roomroom=newroom();
room.addroom();
那麼執行的是addroom方法,這成為隱式實現。
如果這樣呼叫room:
roomroom=newroom();
((iroom)room).addroom();
那麼執行的是iroom.addroom()方法。這稱之為顯示實現。