码迷,mamicode.com
首页 > 其他好文 > 详细

接口类型的多重继承

时间:2015-05-01 10:36:13      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

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

 

 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     }

 

接口类型的多重继承

标签:

原文地址:http://www.cnblogs.com/ht-beyond/p/4470420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!