Можно ли сказать, что интерфейс взаимодействует между двумя классами? Как он может отправлять информацию из класса B в класс C? оба класса наследуют один и тот же интерфейс.Интерфейс взаимодействует между классами
этот пример я прочитал
давайте вашу «руку» в качестве примера. «Рука» - это класс. В вашем теле есть два объекта типа «рука», называемые «левая рука» и «правая рука». Их основные функции управляются или управляются набором электрических сигналов, передаваемых через ваши плечи (через интерфейс). Таким образом, плечо - это интерфейс, который ваш организм использует, чтобы взаимодействовать руками. Рука - хорошо продуманный класс. Рука повторно используется, чтобы создать левую руку и правую руку, слегка изменив ее свойства.
это только указывает, что интерфейс управления или управляет классом, я согласен с этой точкой, но как-то я узнал, что интерфейс может передавать данные из одного класса в другой, так это правильно, если мы определим интерфейс, как это или говорят, что мы используем интерфейс для этой цели
интерфейс создает связь между двумя классами, например, интерфейс IABC наследуется ClassA и ClassB, то он может послать информацию о 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);
}
}