c#接口使用示例分享
1、接口:
接口与抽象类一样,也是表示某种规则,一旦使用了该规则,就必须实现相关的方法。对于C#语言而言,由于只能继承自一个父类,因此若有多个规则需要实现,则使用接口是个比较好的做法。
interface 接口名
{
方法声明;
}
3、不同接口中若有多个相同名称的方法,则需要显式指定接口名,例如:
4、接口的使用
使用接口也可以实现多态。
class Program
{
static void Main(string[] args)
{
//提供三个类,完成工资的计算
List<ICalu> list = new List<ICalu>();
list.Add(new Boss());
list.Add(new Clert());
list.Add(new Clert());
list.Add(new Customer());
foreach (ICalu emp in list)
{
emp.Calu(); //多态
}
}
}
class Boss : ICalu
{
public void Calu()
{
Console.WriteLine("计算老板工资");
}
}
class Customer : ICalu
{
public void Calu()
{
Console.WriteLine("计算客户工资");
}
}
class Clert : ICalu
{
public void Calu()
{
Console.WriteLine("计算职员工资");
}
}
interface ICalu
{
void Calu();
}
5、接口应用场合举例
using System;
using System.Collections.Generic;
using System.Linq; using System.Text;
namespace ConsoleApplication1 {
class Program {
static void Main(string[] args) {
List<IShow> list = new List<IShow>();
list.Add(new Map());
list.Add(new Voice());
list.Add(new Video());
list.Add(new ThreeD());
foreach(IShow ishow in list) {
ishow.Show(); }
}
}
interface IShow {
void Show(); }
public class Map:IShow {
public void Show()
{
Console.WriteLine("显示图片"); }
}
public class Voice : IShow {
public void Show() {
Console.WriteLine("播放声音"); }
}
public class Video : IShow {
public void Show()
{
Console.WriteLine("显示视频"); }
} public class ThreeD : IShow {
public void Show() {
Console.WriteLine("3D交互"); }
}
}