zoukankan      html  css  js  c++  java
  • 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 +"说话:汪汪汪!!!");
           }
       }

    运行结果截图

  • 相关阅读:
    栈的实现
    函数传值 传地址 传引用的区别【转】
    sql server数据库最大Id冲突问题解决方法之一
    c#3.5关于JSON简单操作的实用帮助类(泛型实现)
    OLLYDBG
    SocketException.ErrorCode 列表及注释,Winsocket Error 列表及注释
    Netbeans5.5.1 连接 Mysql
    大型互联网网站架构心得之一:任务拆分
    工作流(WF)中使用SqlWorkflowPersistenceService创建完全的持久性服务
    Windows Phone学习笔记
  • 原文地址:https://www.cnblogs.com/chunhui212/p/5915273.html
Copyright © 2011-2022 走看看