首页 新闻 会员 周边 捐助

什么是多态?

0
[待解决问题]

不知道什么是多态,怎样实现多态,最好举个具体点的例子,谢谢

杀  手的主页 杀 手 | 菜鸟二级 | 园豆:213
提问于:2011-04-28 08:52
< >
分享
所有回答(5)
0

比如说直升机,战斗机,都继承于飞机这个类,这种继承于同一个类(也就是说本质上是同一个东西),但是不同形态(比如说飞行方式不同)的这种现象叫多态。。。

顾晓北 | 园豆:10898 (专家六级) | 2011-04-28 09:23
0
public abstract class People
{
protected virtual void Say()
{
// Say hello world
}
}
public class Zhangsan:People
{
protected override void Say()
{
// Say My name is "zhangsan"
base.Say();
}
}
public class Lisi : People
{
protected override void Say()
{
// Say My name is "Lisi"
base.Say();
}
}

 

同一个方法,不同的人有不同的状态!这样好理解吗?

Chenkun | 园豆:806 (小虾三级) | 2011-04-28 12:43
0

重写

Astar | 园豆:40805 (高人七级) | 2011-04-28 16:35
0

多态性是指”多种形式“

它使用不同的实例而执行不同的操作

多台包括方法的重写和方法的重载

zmt | 园豆:140 (初学一级) | 2011-05-05 22:16
0

    //基类

    public class animal

    {

        public virtual void paint()//基类虚函数的定义

        {

            System.Web.HttpContext.Current.Response.Write("animal 的 paint()方法被调用<br/>");

        }

    }

   public class bird : animal//从动物类中派生出鸟类

    {

        public override void paint()

        {

            System.Web.HttpContext.Current.Response.Write("bird 的 paint()方法被调用<br/>");

        }

        public void Show()

        {

            System.Web.HttpContext.Current.Response.Write("bird 的 Show()方法被调用<br/>");

        }

    }

应用页面

      animal ani = new animal();//创建基类对象

            bird pigeon = new bird();//创建派生类对象

 

            ani.paint();//调用基类虚函数

            ani = pigeon;

            ani.paint();//通过基类对象调用派生类对基类虚函数的覆盖

执行结果

animal 的 paint()方法被调用
bird 的 paint()方法被调用

你是风儿我是沙 | 园豆:202 (菜鸟二级) | 2012-08-02 16:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册