zoukankan      html  css  js  c++  java
  • 接口类型的多重继承

    和类类型不同,一个接口可以扩展多个基接口。

     1 // 接口可以是多重继承
     2     interface IDrawable
     3     {
     4         void Draw();
     5     }
     6 
     7     interface IPrintable
     8     {
     9         void Print();
    10         void Draw(); // 可能导致命名冲突
    11     }
    12 
    13     // 多重接口继承
    14     // IShape接口扩展了IDrawable和IPrintable
    15     interface IShape : IDrawable, IPrintable
    16     {
    17         int GetNumberOfSides();
    18     }
     1  class Rectangle : IShape
     2     {
     3         public int GetNumberOfSides()
     4         { return 4; }
     5 
     6         public void Draw()
     7         { Console.WriteLine("Drawing..."); }
     8 
     9         public void Print()
    10         { Console.WriteLine("Prining..."); }
    11     }
     1  // 如果愿意对每一个Draw()方法提供实现,可以使用显示接口实现解决命名冲突
     2     class Square : IShape
     3     {
     4         // 使用显示实现来处理成员命名冲突
     5         void IPrintable.Draw()
     6         {
     7             // Draw to printer ...
     8         }
     9         void IDrawable.Draw()
    10         {
    11             // Draw to screen ...
    12         }
    13         public void Print()
    14         {
    15             // Print ...
    16         }
    17         public int GetNumberOfSides()
    18         { return 4; }
    19     }
  • 相关阅读:
    GIT相关学习网站
    【转】一些软件设计的原则
    c语言(14)
    c语言(13)
    c语言(12)
    c语言(11)
    c语言(十)
    c语言(九)
    c语言(八)
    c语言(七)
  • 原文地址:https://www.cnblogs.com/ht-beyond/p/4470420.html
Copyright © 2011-2022 走看看