多态怎么理解,举个形象点的例子,谢谢!!最好能附点代码
多态怎么理解,举个形象点的例子,谢谢!!最好能附点代码
------解决方案--------------------class Base
{
public virtual void Display()
{
Console.WriteLine( "Base ");
}
}
class ChildrenA:Base
{
}
class ChildrenB:Base
{
public override void Display()
{
base.Display();
}
}
class ChildrenC:Base
{
public override void Display()
{
Console.WriteLine( "ChildrenC ");
}
}
class ChildrenD:Base
{
public override void Display()
{
base.Display();
Console.WriteLine( "ChildrenD ");
}
}
public class DrawDemo
{
public static void Main(string[] args)
{
Base[] bs =new Base[]{new Base(),new ChildrenA(),new ChildrenB(),new ChildrenC(),new ChildrenD()};
for(int i=0;i <bs.Length;i++)
bs[i].Display();
}
}
建个控制台程序,把代码放进去看看效果,应该就会有一些概念了
------解决方案-------------------- public void ShowDepart()
{
Response.Write("没有参数");
}
public void ShowDepart(string name)
{
Response.Write("姓名:"+name);
}
public void ShowDepart(string name,string sex)
{
Response.Write("姓名:"+name+"<br>性别:"+sex);
}
这个是多态,刚才哪个是继承
不好意思啊
------解决方案--------------------不同对象对同一事件的不同表现叫做多态.
例如:
动物类.有三种对象->狗,猫,鸡.
有一个相同的事件->叫.
有三种不同的表现->汪汪,喵喵,咯咯达.
用图表示:
对象狗 对象猫 对象鸡
\ | /
\ | /
\ | /
事件<叫>
/ | \
/ | \
表现<汪汪> 表现<喵喵> 表现<咯咯达>
------解决方案--------------------多态 相同的动作不同的结果
------解决方案--------------------语法书上面都有讲解这些的,一两句话说不太清楚
------解决方案--------------------建议LZ去看看C#入门经典和C#高级编程。就算有人回答对了。你也未必真懂。