天天看点

C#学习--密封类

密封类和方法对继承和多态进行限制。在希望别人不能改变代码又希望自己使用时,可以在代码中使用密封的类和方法:使用sealed关键字来表示类或方法为密封

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication2

{

    class Program

    {

         public class MotorVehicle

        {

            public string make;

            public string model;

            public MotorVehicle(string make, string model)

            {

                this.make = make;

                this.model = model;

            }

            public virtual void Accelerate()

                Console.WriteLine("In MotorVehicle Accelerate() method");

                Console.WriteLine(model + " accelerating");

        }

        public class Car : MotorVehicle

            public Car(string make, string model)

                : base(make, model)

                //do nothing

            sealed public override void Accelerate()

                Console.WriteLine("In Car Accelerate() method");

        static void Main(string[] args)

            Console.WriteLine("Creating a Car object");

            Car myCar = new Car("Toyota","MR2");

            Console.WriteLine("Calling myCar.Accelerate()");

            myCar.Accelerate();

            string i = System.Console.ReadLine();

    }

}