作者QQ29 (我爱阿蓉)
看板C_Sharp
标题[问题] 多型疑惑 请教
时间Tue Jul 5 08:35:37 2011
不好意思 以下有个简单的测试程式 想要请教一下观念
interface Foo
{
void Initial();
}
public class Foo2 : Foo
{
public void Initial()
{
Console.WriteLine("Foo2");
}
}
public class Foo3 : Foo2
{
public void Initial()
{
Console.WriteLine("Foo3");
}
}
而我使用 Foo f = new Foo3();
f.Initial();
我不懂为什麽是印Foo2....
实作interface的class 应该就具有override的特性
那继承Foo2的class 中的Initial
且compiler有warning说我Foo3::Initial遮蔽了
Foo2的Initial
我不太懂在C#这种情况 会造成我无法直接 呼叫Foo2的initial?
请各位给点意见吧...有点不太懂这地方
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 188.220.44.99
1F:→ kiedveian:C#要加上 override 关键字 07/05 09:20
2F:→ kiedveian:public override void Initial() 07/05 09:21
3F:推 kisha024: 子类别可以转成父类别存在不是多型正常的用法吗? 03/30 17:32
4F:推 kisha024: 多型意指相同的讯息给予不同的物件会引发不同的动作 03/31 09:58
5F:推 kisha024: 静态多型:函式/运算多载 (overloading), 以静态系结 04/01 09:47
6F:→ kisha024: 的方式完成 04/01 09:47
7F:→ kisha024: 动态多型:函式覆载, 以动态系结的方式完成 04/01 09:47
10F:→ kisha024: 多型:使用同一个操作介面来操作不同的物件实例 11/24 22:31