点点滴滴访问量:
 

方法的重写

       方法重写是实现多态机制的一种方式。

      方法重写:例如,如果我们针对汽车、飞机、轮船等交通工具编程时,其有共同的地方,如都可以启动,我们就可以将这些共同的东西封装在一个基类中,然后在派生类中针对具体的情况重写各自的启动方法。

       1 要使基类方法可以被派生类重写,需要在方法的声明中加上关键字 virtual.这种方法称为虚拟方法。同进,在派生类中,重写的方法声明中加上关键字override.

       2对于需要在派生类中重写的方法,还可以用关键字abstract将其声明 为抽象方法,其在逻辑上类似地虚拟方法。在这里注意的是抽象类的派生类必须重写基类中的抽象方法,否则编译时会出错。

 

例子:

using System;

 

namespace ffchongxie

{

    class Class1

    {

        [STAThread]

        static void Main(string[] args)

        {

            Vehicle v = new Vehicle();

            Vehicle c = new Car();

            Vehicle p = new Plane();

 

            Console.WriteLine(v.Start());

            Console.WriteLine(c.Start());

            Console.WriteLine(p.Start());

        }

    }

 

    class Vehicle

    {

        public virtual string Start() // 在这个基类的方法上加上关键字virtual 就是表示这个方法可以被其子类重写

        {

       

            return "交通工具启动!";

        }

    }

    class Car :Vehicle

    {

        public override string Start()//要重写基类的方法,要在方法前加上 override关键字

        {

            return "汽车起步!";

        }

    }

    class Plane : Vehicle

    {

        public override string Start()

        {

            return "飞机起飞!";

        }

 

    }

   

}

posted on 2006-04-12 16:37  sopper  阅读(1007)  评论(0编辑  收藏  举报