gpt4 book ai didi

C# - 接口(interface) - 帮助接口(interface)的力量

转载 作者:行者123 更新时间:2023-11-30 13:16:16 25 4
gpt4 key购买 nike

我是 C# 新手。最近看了一篇文章,建议

<我>“接口(interface)的一个实际用途是,当创建一个接口(interface)引用时,它可以

处理实现该接口(interface)的不同类型的对象。”

基于我测试的(我不确定我的理解是否正确)

 namespace InterfaceExample

{
public interface IRide

{

void Ride();

}

abstract class Animal

{
private string _classification;

public string Classification
{
set { _classification = value;}
get { return _classification;}
}

public Animal(){}

public Animal(string _classification)
{
this._classification = _classification;
}

}

class Elephant:Animal,IRide

{

public Elephant(){}

public Elephant(string _majorClass):base(_majorClass)
{
}


public void Ride()

{

Console.WriteLine("Elephant can ride 34KPM");

}

}

class Horse:Animal,IRide

{
public Horse(){}

public Horse(string _majorClass):base(_majorClass)
{

}



public void Ride()

{
Console.WriteLine("Horse can ride 110 KPH");
}

}


class Test

{
static void Main()

{
Elephant bully = new Elephant("Vertebrata");
Horse lina = new Horse("Vertebrata");
IRide[] riders = {bully,lina};

foreach(IRide rider in riders)
{

rider.Ride();
}

Console.ReadKey(true);
}
}

}

问题:

  • 除了这种扩展之外,我们还有哪些不同的方式可以利用接口(interface)的优雅?

  • 我可以说这只能通过界面完成的关键点是什么(除了

    多重继承)?

  • (我希望从有经验的人那里收集信息)。

    编辑:

    我猜是为了以概念为中心进行编辑。

    最佳答案

    要点是,您还可以拥有一个实现了 IRide 的类 Bike,而无需从 Animal 继承。您可以将接口(interface)视为抽象契约,指定此类的对象可以执行接口(interface)中指定的操作。

    关于C# - 接口(interface) - 帮助接口(interface)的力量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394338/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com