胡谈...

看了Allen Lee,基类与接口混合继承的声明问题,发表一下个人看法。
先运行如下代码:

namespace Test
{
    
using System ;

    
interface 接口
    
{
          
void 方法();
    }


    
class 基类:接口
    
{
         
public void 方法() 
        
{
            Console.WriteLine(
"这是基类的方法哦!");
        }


        
void 接口.方法()
        
{
            Console.WriteLine(
"我是接口专门的实现方法哦,你不要逃避嘛。");
        }

    }


    
class 没有接口的继承:基类
    
{
        
/// <summary>
        
/// 这里只有通过new才能够用新的方法来覆盖
        
/// </summary>

        public new void 方法()
        
{
            Console.WriteLine(
"我只能够使用 new 来屏蔽它,不过,在IDesign的编程规范中,不推荐用 new。");
        }

    }


    
class  有接口的继承: 基类, 接口
    
{
         
void 接口.方法() 
        
{
            Console.WriteLine(
"这就叫做接口的重映射,这只是技巧性的东西而已。");
        }
 
    }


    
class TestClass
    
{
        [STAThread]
        
static void Main(string[] args)
        
{
            基类 c1 
= new 基类();
            c1.方法();

            接口 i1 
= new 基类();
            i1.方法();

            Console.WriteLine();

            没有接口的继承 c2 
= new 没有接口的继承();
            c2.方法();

            接口 i2 
= new 没有接口的继承();
            i2.方法();

            Console.WriteLine();

            有接口的继承 c3 
= new 有接口的继承();
            c3.方法();

            接口 i3 
= new 有接口的继承();
            i3.方法();

            Console.Read();
        }

    }

}


运行结果如下:
这是基类的方法哦
我是接口专门的实现方法哦,你不要逃避嘛。

我只能够使用 new 来屏蔽它,不过,在IDesign的编程规范中,不推荐用 new。
我是接口专门的实现方法哦,你不要逃避嘛。

这是基类的方法哦
这就叫做接口的重映射,这只是技巧性的东西而已。
posted @ 2004-11-18 14:27  一根神棍研古今  阅读(1315)  评论(4编辑  收藏  举报
Web Counter