密封类和方法对继承和多态进行限制。在希望别人不能改变代码又希望自己使用时,可以在代码中使用密封的类和方法:使用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");
Console.WriteLine(model + " accelerating");
}
}
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();
}
}
}
本文介绍如何使用sealed关键字定义密封类和方法以阻止继承和多态,通过一个简单的C#示例展示了如何创建密封的方法并覆盖基类的行为。
668

被折叠的 条评论
为什么被折叠?



