C#接口的理解
首先接口的语法定义:
接口用来描述一种程序的规定,接口描述可属于任何类或结构的一组相关行为。实现接口的类或结构要与接口的定义严格一致。接口可由方法、属性、事件、索引器或这4种成员类型的任何组合构成。接口不能包含字段。接口成员一定是公共的。
注意事项:
1、接口名称必须使用大写字母“I”开头,如Icompute,IChoose。
2、接口的访问修饰符可以选择使用,但是接口的方法前不能添加任何访问修饰符,它是隐式公开的。
3、接口中可以声明索引器,属性和方法,但不能包含字段,构造函数和常量等。
4、接口不能实现任何方法,属性和索引器。
5、接口中不能包含构造函数。
6、在定义方法时,只要给出返回类型,名称和参数列表,用分号结束即可。
除了上面的定义外,在实际的项目中往往会迷茫,什么时候用接口,怎么用能够让架构和代码更合理,都需要一次次的思考和踩坑。有些时候,不要为了用接口而用接口,说出来我用接口了,感觉很高大上,最后发现接口没有实际意义,反而增加的代码量。
个人理解接口的作用分三个:(记录更多是为了加深印象,自己的理解也是网上查看了写资料后,总结的,肯定有不足的,望指正)
1.是对具有公共特性或行为的类的描述,如下面这样:
例子:我要写一个打印程序,但是面临的问题是必须使用不同的打印机,有HP的,IBM的、Epsom的等等。但是针对每一个打印机的程序只有2个必须要用到的函数,Print(),PrintPreview(),这两个函数不同的打印机里面的具体实现代码是不一样的,但是从主程序的角度来看是无所谓的,因为主程序只是要调用一下Print和Print……。
不过这种例子,有点理想化,实际中很少有这种情况
2.是对一些类需要添加一定的约束或必须要实现的属性或方法,如下面这样:
我需要如果继承接口的类,必须有name属性,而不是内容一样,但却不同名字的Name、UserName什么的
3.团队分工开发时,遇到需要调用其他人的方法,但还没完成时,可以先定义接口使用,后面让对方继承并实现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
2020-07-01 WPF入门(1)——DataContext