• 接口案例2(同名的外部调用)


    /// <summary>

    ///这个是第二个接口的引用,<1> 外部对接口的访问,如果出现同名的参数或者方法,必须的指出他的父接口,即必须为显示的调用

    ///<2> 特别是在不清楚具体情况的前提下,最后是做的保守一点

    /// </summary> public interface I_3_A  

    //此处定义一个接口包含一个方法J,一个属性

    Count {   

      int Count { get; set; }    

     int J(int j);

    }

    public interface I_3_B   //这里面也定义第二个接口包含一个方法Count,一个属性J,但注意这和上一个接口中的方法和属性同名称 {     void Count(int i);  

       double J(double j);

    }

    public interface I_3_C : I_3_A, I_3_B

     { }

    public class I_3_L

    {    

     public void Sum(I_3_C thc)  

       {      

       thc.Count();   //错误,具有二义性        

     thc.Count = 1;  //错误。具有二义性       

      thc.Count(1);  //错误,具有二义性

            ((I_3_A)thc).Count = 1;  //正确      

       ((I_3_B)thc).Count(1);

            ((I_3_A)thc).J(1);      

       ((I_3_B)thc).J(1);

            thc.J(1.0);  

      //这里面还牵扯到一个隐式调用的问题,当我们传入的参数为float类型的参数,这样的话隐式调用的就是接口I_3_B中的J这个方法、同样的道理下面这个方法就是调用的方法I_3_A     

        thc.J(1);    

     }

     }

  • 相关阅读:
    如何制作静、动态库
    各种时间函数的恩与怨
    一文看懂Vim操作
    如何避免内存泄漏
    和leon一起学Vim
    shell的输入输出重定向
    和Leon一起从头学Git(六)
    和leon一起从头学Git(五)
    深入理解Linux高端内存
    和Leon一起从头学Git(四)
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/2250730.html
Copyright © 2020-2023  润新知