面向对象编程的特性
一、接口
接口是把公共的方法与属性组合起来,以封装特定功能的集合。
接口不能单独存在,不能像实例化一个类一样实例化接口,且接口不能包含实现成员的任何代码,只能定义成员本身,
实现过程只能在实现接口的类中实现。
C#定义接口关键字为interface,
例如一个人事管理系统中员工接口类
1 2 3 4 5 | public interface IEmployees { string Name{ get ; set ;} decimal GetPay(); } |
注意:接口中的成员不能有修饰符,因为默认都是公有的,同时不能声明虚拟与静态的,接口一般都以I开头
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | class Program { static void Main( string [] args) { IEmployees tempEmployees = new TempEmployees(); tempEmployees.Name = "临时员工" ; IEmployees commonEmployees = new CommonEmployees(); commonEmployees.Name = "普通员工" ; Console.Write( "我是{0},工资为:{1}\n我是{2},工资为:{3}" ,tempEmployees.Name,tempEmployees.GetPay(),commonEmployees.Name,commonEmployees.GetPay()); Console.ReadKey(); } } public interface IEmployees { string Name { get ; set ; } decimal GetPay(); } public class TempEmployees : IEmployees { private string _name; public string Name { get { return _name; } set { _name = value; } } public decimal GetPay() { return 30 * 7 + 10; } } public class CommonEmployees : IEmployees { private string _name; public string Name { get { return _name; } set { _name = value; } } public decimal GetPay() { return 30 * 30 + 100; } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥