C#接口的显示和隐式实现
早上骑车上班走到半路发现手机忘带了,这年代兜里没装一分现金,吃饭都要刷手机,上班时间无聊了不能玩手机更是大问题,所以果断掉头拿手机。取完手机刚出门看这天阴沉沉的貌似要下雨,没雨衣,骑车又不能打伞,上次就是上班路上被突如其来的大雨湿了身,不敢犹豫,买了早餐赶紧打包带走,骑上车一路狂奔到公司,刚到公司楼下,雨就哗哗的下大了,衣服没被淋湿却被汗水浸湿了,不过没被雨淋还是有点小庆幸。等到吃了早餐,汗水退去,那就巩固巩固基础知识吧,这次总结一下接口的显示实现和隐式实现,我就总是习惯把这两个方式搞混张冠李戴,不知道哪个叫“显示”哪个叫“隐式”,其实吧也没必要死记他们的名字,只要看到他们知道怎么用就可以了,也就是只要看到他们知道他们能干什么就可以了。最近总结的都是很基础的理论知识,这些往往会被程序员们忽略,但却是编程语言的精华,要建高楼根基不稳怎么行。话不多说贴上代码
public class Program { static void Main(string[] args) { //显式显示调用方式 ISpeakVoice man = new ManSpeak(); man.SpeakVoice(); //隐式显示调用方式 DogSpeak dag = new DogSpeak(); dag.SpeakVoice(); ISpeakVoice ispeak = new DogSpeak(); ispeak.SpeakVoice(); Console.ReadLine(); } } public interface ISpeakVoice { void SpeakVoice(); } public class ManSpeak : ISpeakVoice { public string Name = "人类"; void ISpeakVoice.SpeakVoice() //显示实现 { Console.WriteLine(this.Name + "说话:哈哈哈!!!"); } } public class DogSpeak : ISpeakVoice { public string Name = "小狗"; public void SpeakVoice() // 隐式实现 { Console.WriteLine(this.Name +"说话:汪汪汪!!!"); } }
运行结果截图