C#基礎知識編:基礎知識(9)インターフェースの応用

黄舟
リリース: 2017-02-11 13:19:52
オリジナル
1334 人が閲覧しました

実際、インターフェースはメソッドと属性のセットであり、それを継承する人はこのメソッドと属性のセットを実装する必要があります。言い換えれば、このクラスには、このインターフェイスによって定義されたいくつかの機能があります。
インターフェースのこの機能は、日常のプログラミングで大きな役割を果たします。多くの人が同時に大規模なプロジェクトを完了する必要があるため、一部のクラスでは特定のメソッドが必要になることは避けられません。似ていること。このため、プロジェクトの設計段階でこのメソッドをインターフェイスに抽象化し、プロジェクトでは全員がこのインターフェイスを実装するだけで済み、全員が独自のインターフェイスを定義して同じ操作で混乱が生じるのを防ぐ必要があります。
例えば、デスクトップアプリケーションを作る場合、ウィンドウ内にイベントを登録し(これは通常、異なるコントロール間のイベントの受け渡しに使用されます)、スキンを貼り付けます(つまり、画像をそのまま使用します)。フォームとフォーム上のコントロール)、背景画像など)。これはすべてのウィンドウで使用する必要がある方法です。このように、インターフェイスを抽象化し、
IWindowAdditionalAble という名前を付けることができます。
たとえば、UseForm ウィンドウを作成するときは、次のインターフェイスを実装します:

インターフェイス:

    interface IWindowAdditionalAble
    {
        void PasteSkin();//给窗体中的控件贴皮肤

        void RegisterEvent();//注册要用到的事件
    }
ログイン後にコピー

インターフェイス コードを実装します:

 public partial class UseForm : Form, IWindowAdditionalAble//每写一个窗体类都实现该接口
    {
        public UseForm()
        {
            InitializeComponent();

            PasteSkin();

            RegisterEvent();
        }

        #region IWindowAdditionalAble 成员

        /// <summary>
        /// 贴皮肤的方法
        /// </summary>
        public void PasteSkin()
        {
            this.btnTest.BackColor = Color.Gray;
        }
        /// <summary>
        /// 注册事件的方法
        /// </summary>
        public void RegisterEvent()
        {
            this.btnTest.Click += new EventHandler(btnTest_Click);
        }

        void btnTest_Click(object sender, EventArgs e)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
ログイン後にコピー

他のウィンドウ A、B... を作成するときにこのインターフェイスを実装します。これはより統合されています。 、そしてそれは特定のメソッドを残すことはありません。もちろん、プロジェクトのニーズに応じて、特定のニーズを満たす他のインターフェイスを作成することもできます。

上記は C# の基礎知識の内容です: 基礎知識 (9) インターフェイスの応用 さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート