胡谈...
看了Allen Lee,基类与接口混合继承的声明问题,发表一下个人看法。
先运行如下代码:
运行结果如下:
这是基类的方法哦
我是接口专门的实现方法哦,你不要逃避嘛。
我只能够使用 new 来屏蔽它,不过,在IDesign的编程规范中,不推荐用 new。
我是接口专门的实现方法哦,你不要逃避嘛。
这是基类的方法哦
这就叫做接口的重映射,这只是技巧性的东西而已。
先运行如下代码:
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();
}
}
}
{
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。
我是接口专门的实现方法哦,你不要逃避嘛。
这是基类的方法哦
这就叫做接口的重映射,这只是技巧性的东西而已。