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

C#のインターフェイスとは?宣言方法と実装例をわかりやすく解説


インターフェイスとは

インターフェイスは、プロパティ、メソッド、イベントなどのメンバーを定義するための仕組みです。インターフェイスにはメンバーの「宣言」のみが含まれており、実際の処理内容(実装)は、そのインターフェイスを実装するクラス側で定義する必要があります。

この仕組みにより、インターフェイスは派生クラスが従うべき標準的な構造(いわば「契約」)を提供します。複数のクラスに対して共通のメンバーを持つことを強制できるため、コードの一貫性や保守性の向上に役立ちます。

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

C#では、interfaceキーワードを使用してインターフェイスを宣言します。命名規則として、インターフェイス名の先頭に「I」を付けるのが一般的です。

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

この例では、ITransactionsインターフェイスがshowTransaction()メソッドとgetAmount()メソッドを宣言しています。このインターフェイスを実装するクラスは、これらのメンバーを必ず定義しなければなりません。

インターフェイスの使用例

次に、C#でインターフェイスを実際に使用する例を見てみましょう。

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

namespace Demo {

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

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

        public Transaction() {
            tCode = " ";
            date = " ";
        }
        public Transaction(string c, string d) {
            tCode = c;
            date = d;
        }

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

    class Tester {

        static void Main(string[] args) {
            Transaction t1 = new Transaction("8877", "6/25/2018");
            Transaction t2 = new Transaction("5656", "7/25/2018");

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

コードのポイント

  • インターフェイスの継承:public class Transaction : ITransactionsのように、クラス名の後にコロン(:)を付けてインターフェイス名を指定します。
  • メンバーの実装:Transactionクラスは、インターフェイスで宣言されたshowTransaction()メソッドをpublic修飾子付きで実装しています。
  • コンストラクタ:引数なしと引数ありの2種類のコンストラクタを用意することで、柔軟なオブジェクト生成を可能にしています。

実行結果

Transaction ID: 8877
Date: 6/25/2018
Transaction ID: 5656
Date: 7/25/2018

このプログラムでは、Mainメソッド内で2つのTransactionオブジェクト(t1、t2)を生成し、それぞれのshowTransaction()メソッドを呼び出して取引IDと日付を表示しています。インターフェイスを実装することで、異なるクラス間でも共通のメソッド名で処理を呼び出せるようになり、ポリモーフィズム(多態性)を活用した柔軟な設計が可能になります。


  1. Microsoft Office 15(Office 2013)レビュー:アップグレードする価値はあるのか?

    Windows 8の登場を心待ちにしている方なら、MicrosoftがOffice製品をどう進化させるのか気になっていたことでしょう。このほど、Metroインターフェース上でシームレスに動作する新版「Microsoft Office 15」に関する情報が公開されました。しかし、果たして使う価値はあるのでしょうか? Office 15の新機能 まず注目したいのはPowerPointです。プレゼンター向けに洗練されたダッシュボードが用意され、デジタルレーザーポインターとタイマーを活用しながら、本来の演出イメージどおりにスライドを提示できます。Windows 8タブレットに外部モニターを接続すれば、

  2. データベースにおけるトランザクションの定義とは?基本概念と処理の流れを解説

    トランザクションとはトランザクションとは、データベース内で実行される一連のコマンド(命令)の集まりのことです。トランザクションを構成する各コマンドは「アトミック(不可分)」であるとされ、それ以上サブコマンドに分割することはできません。トランザクション内のコマンドは、データベースの構造を変更する場合もあれば、変更しない場合もあります。重要なのは、トランザクションによって必要とされる変更は、すべて一括して反映されなければならないという点です。この規則が守られない場合、システム障害や停電などの予期しない事態が発生した際に、データが失われてしまう可能性があります。トランザクションの具体例トランザクショ