簡體   English   中英

接口在類之間進行通信

[英]Interface communicates between classes

說兩個類之間的接口通信是對的嗎? 就像它可以從B類發送信息到C類? 這兩個類都繼承了相同的接口。

這個例子我讀過

讓我們以你的“手”為例。 “手”是一個類。 你的身體有兩個“手”類型的物體,名為“左手”和“右手”。 它們的主要功能由通過肩部(通過接口)發送的一組電信號控制或管理。 所以肩膀是你的身體用來與你的手互動的界面。 手是一個設計良好的類。 通過稍微改變它的屬性,手被重新用於創建左手和右手。

這只是指定接口控制或管理類,我同意這一點,但不知怎的,我知道接口可以將數據從一個類轉移到另一個類,所以如果我們定義這樣的接口或說我們使用接口這是正確的目的

接口在兩個類之間創建通信,例如在ClassA和ClassB中繼承的接口Iabc,然后它可以將ClassA的信息發送到ClassB。

public interface  Interface1
{
    void  Method1(string msg);
     void Method2(string msg1 ,string msg2);
}
 public static class  HelperClass
 {
     public static void Method1(Interface1 obj ,string msg)
     {
         obj.Method1(msg);
     }

     public static void Method2(Interface1 obj,string msg1, string msg2)
     {
         obj.Method2(msg1,msg2);
     }
 }
  static void Main(string[] args)
    {
        var Car = new Vehcile();
        var HS = new Person();
        Car.per= "Car Clss";
        HS.per = "HS Clss";
        HelperClass.Method1(Car, Car.per);
        HelperClass.Method1(HS, HS.per);
        HelperClass.Method2(Car, Car.per, HS.per);
        HelperClass.Method2(HS, HS.per, Car.per);
        Console.ReadKey();
    }

     public class Person : Interface1
 {

    public String per;

     void Interface1.Method1(string msg)
    {
        Console.WriteLine(msg);
    }

    void Interface1.Method2(string msg1, string msg2)
    {
        Console.WriteLine("Person Class" + msg1 + " " + msg2);
    }
}

 class Vehcile : Interface1
{
    public String per;

     void Interface1.Method1(string msg)
    {
        Console.WriteLine(msg);
    }

    void Interface1.Method2(string msg1, string msg2)
    {
        Console.WriteLine("Vehcile Class" + msg1 + " " + msg2);
    }
}

說兩個類之間的接口通信是對的嗎?

我不會這樣定義一個接口。 我會看一個像綁定合同的界面。 合同規定: “任何實現此接口的人都必須能夠執行合同規定的任何行動。”

例如:

public interface IHand
{
    void Shake(IHand otherHand);
}

public class Hand : IHand
{
    public void Shake(IHand otherHand)
    {
        Console.WriteLine("Shook the other hand");
    }
}

IHand是一個接口,它聲明了一個名為Shake的方法,它接收IHand另一個對象。 任何實現我們接口的類都必須提供一個名為Shake的方法,它可以做一些事情。

在這個特定的例子中,我們的Hand類每次動搖另一只手時都會寫入控制台。

通過接口,我們可以創建抽象 意思是,我們可以依賴合同 ,而不是依賴於具體的類(例如Hand )。 這意味着,任何實現IHand對象對我們都沒有問題,因為它保證他將有一個我們可以調用的Shake方法。 Shake方法中發生的事情超出了我們的范圍,我們通常並不關心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM