我有点知道多态是什么,但没有清楚地理解它。也是我的代码如下:这是多态性的例子吗?
class Human
{
public virtual void CleanTheRoom()
{
}
}
class Woman:Human
{
public override void CleanTheRoom()
{
//women clean faster
}
}
class Man:Human
{
public override void CleanTheRoom()
{
//men clean slower, different code here
}
}
class Child:Human
{
public override void CleanTheRoom()
{
//empty ... children are lazy :)
}
}
我要解释这是因为polymorhism从基类人所有派生类包含方法CleanTheRoom但他们每个人它实现不同?
更好的stil应该是把CleanTheRoom方法定义放在一个'IClean'接口中,并为那些可以清理的人类实现它。然后你就可以从这个界面中获得免费的多态主义。 – ChristopheD 2011-04-04 19:56:47
这绝对是性别歧视的一个例子。 – juharr 2011-04-04 20:01:59
@juharr和agism。 – kenny 2011-04-04 20:40:14