父类实例化子类

最近在琢磨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方法.
还有许多地方需要用到多态性的,建议你记住,以后遇到了自然就想通了.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值