博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Interface显式实现和隐式实现
阅读量:5948 次
发布时间:2019-06-19

本文共 1468 字,大约阅读时间需要 4 分钟。

c#中对接口的实现方式有两种:隐式实现和显式实现,之前一直没仔细看过,今天查了些资料,在这里整理一下。

隐式实现的例子

interface IChinese    {        string Speak();    }        public class Speaker:IChinese    {        public string Speak()        {            return "Chinese";        }    }

显示实现的例子

interface IChinese    {        string Speak();    }        public class Speaker:IChinese    {        string IChinese.Speak()        {            return "Chinese";        }    }
显式实现和隐式实现影响
显示实现的使用,感觉小生僻,不太常用

显式实现的客户端调用,注意类的声明,只可以用接口声明,调用者才可以可以得到调用实例化对象的行为Speak;

Interface IEnglish    {        string Speak();    }    interface IChinese    {        string Speak();    }        public class Speaker:IChinese,IEnglish    {        string IChinese.Speak()        {            return "Chinese";        }        string IEnglish.Speak()        {            return "English";        }    }
 
 
Client便可以这样使用:
IChinese cSpeaker = new Speaker();            IEnglish eSpeaker = new Speaker();            Console.WriteLine("chinese speak say {0}", cSpeaker.Speak());            Console.WriteLine("english speak say {0}", eSpeaker.Speak());
 
隐式实现的使用

隐式实现的客户端调用,注意类的声明,可以用接口声明,也可以用实现类 Speaker声明。调用者都可以得到调用实例化对象的行为Speak;

interface IChinese    {        string Speak();    }        public class Speaker:IChinese    {        public string Speak()        {            return "Chinese";        }    }
 
Client便可以这样使用:
Speaker cSpeaker = new Speaker();  Console.WriteLine(cSpeaker.Speak());
参考:

转载于:https://www.cnblogs.com/RealAlex/p/3472541.html

你可能感兴趣的文章
(转载)浅谈javascript中的原型和继承
查看>>
删除存储
查看>>
suffix
查看>>
[十一]基础数据类型之Character
查看>>
webpack+vue自学(2)
查看>>
mysqldump 备份导出数据排除某张表或多张表
查看>>
鼠标滑动一定距离的左侧菜单置顶效果
查看>>
Helloworld模块之内核makefile详解
查看>>
Exchange企业实战技巧(12)通讯组管理
查看>>
linux文件系统安全
查看>>
R语言执行脚本的几种命令
查看>>
bash之正则表达式
查看>>
MySQL5.7 Read Committed事务隔离级别的研究-出现幻读
查看>>
VUE的数据双向绑定
查看>>
轻量级HTTP服务器Nginx(配置与调试Nginx)
查看>>
解决CentOS系统mini安装后的虚拟机工具(VMware Tools)安装问题
查看>>
碧海蓝天的初心
查看>>
6.30Java学习第二天
查看>>
Ubuntu学习笔记
查看>>
Opticks 插件注册宏分析
查看>>