最近在琢磨c#的时候,经常发现类似这样的例子:
public class people
{
//代码略
}
public class man : people
{
//代码略
}
public class Apply
{
people Person=new man();
...
}
我想问一下,在实际的编程中,会有这样的需要吗?请有经验的人说说看.
有这样的需要的,比如People类有一个Run方法,Man和Woman这两个类都是继承自People的类,并且都重写(override)了Run这个方法(男人女人跑起步来不一样).
现在有一群人一起跑步,有男人有女人.
我们可以把这些都装进一个People数组(假设为peoples).
然后
foreach(People p in peoples)
{
p.Run();
}
由于多态性,在调用p.Run()的时候p对象本身如果是男人就会自动调用男人的Run方法,是女人就会调用女人的Run方法.
还有许多地方需要用到多态性的,建议你记住,以后遇到了自然就想通了.
505

被折叠的 条评论
为什么被折叠?



