欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > C#接口(Interface)

C#接口(Interface)

2025/2/7 2:16:24 来源:https://blog.csdn.net/2403_88923953/article/details/145415779  浏览:    关键词:C#接口(Interface)

C#中的接口

接口是C#中一种重要的概念,它定义了一组函数成员,但不实现它们。接口提供了一种标准结构,使得实现接口的类或结构在形式上保持一致。接口定义了属性、方法和事件,这些都是接口的成员,但接口只包含成员的声明,具体的实现由派生类负责

定义接口

接口使用interface关键字声明,通常接口名称以大写字母“I”开头。

接口的作用

接口为代码编写和程序开发提供了一个“协定”,即一个规范。使用接口可以确保不同的类实现相同的方法,从而提高代码的可维护性和扩展性。例如,如果有多个类需要实现一个共同的方法,可以通过接口来约束这些类

接口的继承

namespace 接口
{internal class Program{static void Main(string[] args){总结:1.接口不能使用static2.接口中的成员不能使用访问修饰符,所有的成员默认都是public,但是public也不能写3.类或者结构体实现的时候,类的成员相对于接口成员,只能多,不能少4.如果接口中规定的属性拥有get和set,类中必须都有,如果接口中只有get,类中可以有get和set5.当类实现多个接口的时候,使用 ,分割6.当类同时继承和实现接口的时候,必须把基类放在前面}}//定义一个接口,接口的名字一般以I开头//格式: interface 接口的名称  {成员}interface IPeople{string Name { get; set; }double Height {  get; set; }void FF();}//当某个类或者结构体实现一个接口的时候,必须实现这个接口所有的成员interface IPerson{string Sex { get; set; }}//一个类可以使用,实现多个接口class All : IPeople, IPerson{public string Name { get; set; }public double Height { get; set; }public string Sex { get; set; }public void FF() { }}interface IStudent{string Name { get; set; }int Age {  get; set; }}interface IAdult{double Height { get; set; }}class People : IStudent{public string Name { get; set; }public double Height { get; set; }public int Age { get; set; }}//: 作用  类的继承   接口的实现class Student : People, IAdult{//当基类和接口中,拥有同名的属性的时候,派生类不需要自己实现//可以用new关键字重新实现public new double  Height { get; set; }}}
  //多接口interface IA{string A { get; set; }string B { get; set; }int C { get; set; }void FF(int f);}interface IB{string B { get; set; }string C { get; set; }string D { get; set; }void FF(string f);}//一个类可以实现多个接口class Both : IA, IB{public string A { get; set; }//当一个类实现多个接口的时候,如果多个接口拥有相同类型的属性,只需要实现一个即可public string B { get; set; }public string D { get; set; }//当一个类显示多个接口的时候,如果多个接口拥有不同类型的相同的属性,需要显示接口实现//显示接口实现 不需要也不能加访问修饰符,这个成员访问需要将对象表示为对应的接口类型int IA.C { get; set; }string IB.C { get; set; }//因为方法可以重载 ,所以可以直接重载两个接口的方法public void FF(int f) { }public void FF(string f) { }}
  interface IPeople{string Name { get; set; }int Age { get; set; }}interface IStudent : IPeople{string StudentId { get; set; }void Study();}//一个接口可以继承另外一个接口,如果一个接口b继承了接口a,某个类实现了接口b的时候,要实现a和b所有的成员class Student : IStudent{//鼠标悬浮到报错的地方,--->显示可能修补的程序-->实现接口public string StudentId { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }public string Name { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }public int Age { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }public void Study(){throw new NotImplementedException();}}

总结:

接口在C#中提供了一种标准化的方式来定义类或结构应遵循的合同。它们提高了代码的可维护性和扩展性,使得不同的类可以实现相同的方法,从而方便统一管理和调用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com