在實現介面的時候,vs提供了兩個選單,乙個是"實現介面",乙個是"顯式實現介面",它們到底有何不一樣呢
我們來比較一下看看
1.首先假設我們有乙個介面
public inte***ce icustomer
2.如果是"實現介面",那麼**大致如下
public class customer:icustomer
#endregion
}3.如果是"顯式實現介面",那麼**大致如下
public class customer:icustomer
#endregion
}如果是實現介面
public class dal
public void getcustomer2()
}如果是顯式實現介面
public class dal
}此外,我們還可以在繼承介面的類中同時提供實現介面和顯式實現介面兩種方式,這樣就完成了對乙個介面成員提供多份實現實體,訪問時可以用類的例項和介面的引用來分別呼叫這兩種實現實體。
現在大部分的系統為了保證擴充套件性,都廣泛地使用介面。顯式實現介面,可以隱藏具體類的複雜性。
1.隱式實現的介面
結果:說明:從例項中我們可以看到用隱式實現的介面既可以通過類來訪問,也可以通過介面來訪問!
2.顯式實現的介面
結果:1
結果:說明:當同時用顯/隱式實現介面時,顯式才是真正的介面實現方法!
4.結論
在多數情況下,我們都是用隱式來實現介面,此時既可以通過類來訪問,又可以通過介面來訪問,而通過顯式實現的介面則只能通過介面來訪問,總結一下就是:當顯式實現方式存在時,隱式實現方式就失效了。但這不能表示顯式實現方式就不好,當乙個類實現的多個介面中具有相同的方法時,用顯式方式來專門實現某個介面的方法時就顯得非常有用!
C 顯式介面實現和隱式介面實現
介面的實現分為 隱式實現和顯式實現。隱式介面實現 如果類或者結構要實現的是單個介面,可以使用隱式實現。顯式介面實現 如果類或者結構繼承了多個介面,那麼介面中相同名稱成員就要顯式實現。顯示實現是通過使用介面的完全限定名來實現介面成員的。使用顯式介面成員執行體通常有兩個目的 1 因為顯式介面成員執行體不...
C 中介面的顯式和隱式實現
介面的實現分為 隱式實現和顯式實現。如果類或者結構要實現的是單個介面,可以使用隱式實現,如果類或者結構繼承了多個介面那麼介面中相同名稱成員就要顯式實現。顯示實現是通過使用介面的完全限定名來實現介面成員的。使用顯式介面成員執行體通常有兩個目的 1 因為顯式介面成員執行體不能通過類的例項進行訪問,這就可...
C 的顯式介面和隱式介面
介面的實現分為 隱式實現和顯式實現。如果類或者結構要實現的是單個介面,可以使用隱式實現,如果類或者結構繼承了多個介面那麼介面中相同名稱成員就要顯式實現。顯示實現是通過使用介面的完全限定名來實現介面成員的。使用顯式介面成員執行體通常有兩個目的 1 因為顯式介面成員執行體不能通過類的例項進行訪問,這就可...