代码之家  ›  专栏  ›  技术社区  ›  kevindaub

在中实现多个接口和对象实例。净

  •  0
  • kevindaub  · 技术社区  · 17 年前

    它们是指同一个对象,还是有三个不同的对象?

    interface IMyInterface
    {
        void MyFunction();
    }
    
    interface IYourInterface()
    {
        void YourFunction();
    }
    
    interface IOurInterface()
    {
        void OurFunction();
    }
    
    public class MainImplementation : IMyInterface, IYourInterface, IOurInterface
    {
        public void MyFunction() { }
        public void YourFunction() { }
        public void OurFunction() { }
    }
    
    private IMyInterface myInterface;
    private IYourInterface yourInterface;
    private IOurInterface ourInterface;
    
    static void Main(string[] args)
    {
        myInterface = new MainImplementation() as IMyInterface;
        yourInterface = myInterface as IYourInterface;
        ourInterface = myInterface as IOurInterface;
    }
    

    4 回复  |  直到 17 年前
        1
  •  5
  •   Noon Silk    17 年前

    它们都指向同一个对象。因此,以以下形式对它们进行更改:

     ourInterface.X = ...
    

    实际上,你在选角方面所做的工作(我想你的意思是你的最后一个选角是“作为IOurInterface”)是给数据一个不同的“视图”。在这种情况下,每个接口都会打开一个功能。

        2
  •  3
  •   John Saunders    17 年前

    他们引用了同一个实例。那里

        3
  •  2
  •   JohnFx    17 年前

    1个新对象=1个对象。它们都引用了同一个实例。

        4
  •  0
  •   Gordon Gustafson    16 年前

    它们引用了同一个对象。将一个对象强制转换为不同的方法只是告诉编译器,当在该对象上调用方法时,使用该类中定义的方法,而不是其他方法。

    推荐文章