C#语言学习--基础部分(二一) Inherit Demo

Programm.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Vehicles
{
    class Program
    {
        static void DoWork()
        {
            Console.WriteLine("Journey by airplane");
            Airplane myPlane = new Airplane();
            myPlane.StartEngine("Contact");
            myPlane.TakeOff();
            myPlane.Drive();
            myPlane.Land();
            myPlane.StopEngine("Whirr");
            Console.WriteLine("\nJonery by car:");
            Car myCar = new Car();
            myCar.StartEngine("Brm Brm");
            myCar.Accelerate();
            myCar.Drive();
            myCar.Brake();
            myCar.StopEngine("Phut Phut");
            Console.WriteLine("\nTesting polymorphism");
            Vehicles v = myCar; //父类引用,引用子类对像
            v.Drive(); //调用子类的方法(override)
            v = myPlane;
            v.Drive();
        }
        static void Main(string[] args)
        {
            try
            {
                DoWork();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception:{0}",ex.Message);
            }
        }
    }
}

Vehicles.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Vehicles
{
    class Vehicles
    {
        public void StartEngine(string noiseToMakeWhenStarting)
        {
            Console.WriteLine("Starting engine:{0}",noiseToMakeWhenStarting);
        }
        public void StopEngine(string noiseToMakeWhenStopping)
        {
            Console.WriteLine("Stopping engine:{0}",noiseToMakeWhenStopping);
        }
        public virtual void Drive()
        {
            Console.WriteLine("Default implementation of the Drive method");
        }
    }
}

Airplane.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Vehicles
{
    class Airplane:Vehicles
    {
        public void TakeOff()
        {
            Console.WriteLine("Takeing ff");
        }
        public void Land()
        {
            Console.WriteLine("Landing");
        }
        public override void Drive()
        {
            Console.WriteLine("Flying");
        }
    }
}

Car.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Vehicles
{
    class Car:Vehicles
    {
        public void Accelerate()
        {
            Console.WriteLine("Accelerating");
        }
        public void Brake()
        {
            Console.WriteLine("Braking");
        }
        public override void Drive()
        {
            Console.WriteLine("Motoring");
        }
    }
}

 

posted on 2012-10-23 20:43  松波  阅读(257)  评论(0编辑  收藏  举报

导航