首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

接口的實現(六)

     編輯:關於C語言

15.4.5 接口的重實現

派生類可重寫基類成員,類似引入接口實現稱重實現。繼承接口實現的類可對接口重實現,要求接口出現於類聲明基類列表。重實現嚴守首次實現規則,派生接口映射不影響重實現映射。範例:

interface IControl { void Paint(); }
class Control : IControl { void IControl.Paint() { ... } }
class MyControl : Control, IControl { public void Paint() { } }

Control 將 IControl.Paint 映射到 Control.IControl.Paint;MyControl 重實現映射到 MyControl.Paint。

重實現時,繼承的公有成員與顯式接口成員參與映射:

interface IMethods { void F(); void G(); void H(); void I(); }
class Base : IMethods {
    void IMethods.F() { }
    void IMethods.G() { }
    public void H() { }
    public void I() { }
}
class Derived : Base, IMethods {
    public void F() { }
    void IMethods.H() { }
}

Derived 映射:F→Derived.F、G→Base.IMethods.G、H→Derived.IMethods.H、I→Base.I。

類重實現接口時,隱式重實現所有父接口。例:IDerived : IBase,D : C, IDerived 重實現 IDerived 同樣重實現 IBase,映射 IBase.F → D.F。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved