C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でインターフェイスを宣言して使う方法をわかりやすく解説

インターフェイス(interface)とは、プロパティ・メソッド・イベントといった「メンバー」を定義するための仕組みです。インターフェイス本体にはメンバーの宣言のみが含まれ、その具体的な実装は、インターフェイスを実装する派生クラス側で行う必要があります。

インターフェイスの宣言方法

C#では、interfaceキーワードを使って次のようにインターフェイスを宣言します。

public interface ITransactions {
    // インターフェイスのメンバー
    void showTransaction();
    double getAmount();
}

慣習として、インターフェイス名は先頭に「I」を付けて命名されるのが一般的です。この例では、取引情報を扱う ITransactions というインターフェイスに、2つのメソッドを宣言しています。

実装例:インターフェイスの宣言と利用

以下は、C#でインターフェイスを宣言し、実際にクラスから実装して使用する完全なサンプルコードです。

サンプルコード

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;

namespace InterfaceApplication {

    public interface ITransactions {
        // インターフェイスのメンバー
        void showTransaction();
        double getAmount();
    }

    public class Transaction : ITransactions {
        private string tCode;
        private string date;
        private double amount;

        public Transaction() {
            tCode = " ";
            date = " ";
            amount = 0.0;
        }

        public Transaction(string c, string d, double a) {
            tCode = c;
            date = d;
            amount = a;
        }

        public double getAmount() {
            return amount;
        }

        public void showTransaction() {
            Console.WriteLine("Transaction: {0}", tCode);
            Console.WriteLine("Date: {0}", date);
            Console.WriteLine("Amount: {0}", getAmount());
        }
    }

    class Tester {

        static void Main(string[] args) {
            Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
            Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);

            t1.showTransaction();
            t2.showTransaction();
            Console.ReadKey();
        }
    }
}

実行結果

Transaction: 001
Date: 8/10/2012
Amount: 78900
Transaction: 002
Date: 9/10/2012
Amount: 451900

コードのポイント

  • 実装の強制: Transaction クラスが ITransactions を継承することで、宣言されているすべてのメンバー(showTransaction()getAmount())の実装が義務付けられます。
  • 複数コンストラクター: 引数なしのデフォルトコンストラクターと、初期値を受け取る引数付きコンストラクターの両方を定義しており、柔軟なオブジェクト生成が可能です。
  • 多態性の基盤: インターフェイス型の変数として扱えるため、将来的に異なる取引クラスを同じ ITransactions 型として統一的に処理できます。

このようにインターフェイスを使うことで、クラスが満たすべき契約(contract)を明確に定義でき、保守性や拡張性の高いプログラムを構築できます。

  1. Android TVでADBを設定して使う方法|PCとの接続手順と活用テクニック

    AndroidスマートフォンであれAndroid TVであれ、OSの本質は同じです。つまり、Android TVは他のAndroidデバイスと同じように自由にカスタマイズできるということです。 Androidアプリのサイドローディングなど、本格的なカスタマイズを行いたい場合は、「Android Debug Bridge(ADB)」の力が必要になります。この記事では、ADBを使ってAndroid TVをPCに接続する方法を詳しく解説します。 PCにADBをセットアップする方法 まず最初のステップは、お使いのPCにADBをインストールすることです。そのためには、Android Developers

  2. Microsoft Publisherで「検索と置換」を使う方法をわかりやすく解説

    Microsoft OfficeのアプリケーションのひとつであるPublisher(パブリッシャー)には、文書内の特定の文字列を探して別の文字列に一括変更できる「置換」機能が搭載されています。WordとPublisherでは、この機能に若干の違いがあります。Wordで「置換」を選択すると、「検索」「置換」「ジャンプ」の3つのタブが表示されますが、Publisherの場合は「検索」と「置換」の2つのタブのみとなっています。 Publisherで検索と置換を使用する手順 以下の手順に従って、Microsoft Publisherの置換機能を活用しましょう。 Publisherを起動します。 文書