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

C#でのインターフェイスと継承


インターフェース

インターフェイスは、インターフェイスを継承するすべてのクラスが従う必要のある構文上のコントラクトとして定義されます。インターフェイスは構文コントラクトの「what」部分を定義し、派生クラスは構文コントラクトの「how」部分を定義します。

C#のインターフェイスの例を見てみましょう。

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

namespace InterfaceApplication {

   public interface ITransactions {
      // interface members
      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

継承

継承により、別のクラスの観点からクラスを定義できるため、アプリケーションの作成と保守が容易になります。これは、コード機能を再利用する機会も提供し、実装時間を短縮します。

継承の考え方は、IS-A関係を実装します。たとえば、哺乳類は動物であり、犬は哺乳類であり、したがって犬は動物でもあります。

以下は、C#で継承を操作する方法を示す例です。

using System;

namespace InheritanceApplication {
   class Shape {
      public void setWidth(int w) {
         width = w;
      }

      public void setHeight(int h) {
         height = h;
      }

      protected int width;
      protected int height;
   }

   // Derived class
   class Rectangle: Shape {
      public int getArea() {
         return (width * height);
      }
   }

   class RectangleTester {
      static void Main(string[] args) {
         Rectangle Rect = new Rectangle();
   
         Rect.setWidth(5);
         Rect.setHeight(7);

         // Print the area of the object.
         Console.WriteLine("Total area: {0}", Rect.getArea());
         Console.ReadKey();
      }
   }
}

出力

Total area: 35

  1. インターフェイスとサービスとはどういう意味ですか?

    通常、ネットワークサービス は、アプリケーション層以上で実行され、コンピュータネットワークで使用されるアプリケーションです。 ネットワークサービスは、データの保存、操作、プレゼンテーション、通信を提供します。これは、クライアントサーバーアーキテクチャまたはピアツーピアアーキテクチャを使用して実装されます。 サービスインターフェース サービス指向アーキテクチャー(SOA)を実装するために使用されます。これは、さまざまなテクノロジー間のアプリケーション間の相互運用性を実現するために実装されています。 すべての階層構造の機能の基本は、その上の層にサービスを提供することです。 インターフェースの

  2. Javaでの継承と構成の違い

    コンポジションは、クラスがクラスのフィールドとして別のクラスのインスタンスを持つことができる設計手法です。継承は、クラスを拡張することにより、1つのオブジェクトが親オブジェクトのプロパティと動作を取得できるメカニズムです。 構成と継承はどちらも、クラスを関連付けることでコードの再利用性を提供します。コンポジションを使用すると、継承の機能も取得できます。以下は違いです。 Sr。いいえ。 キー 継承 構成 1 基本 継承は「is-a」関係です 構成は「has-a」です。関係 2 コードの再利用 継承では、クラスlassは1つのインターフェースしか拡