Csharp/C Sharp/Class Interface/Sealed
Illustrates sealed methods
<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110
- /
/*
Example7_10.cs illustrates sealed methods
- /
using System;
// declare the MotorVehicle class class MotorVehicle {
// declare the fields public string make; public string model; // define a constructor public MotorVehicle(string make, string model) { this.make = make; this.model = model; } // define the Accelerate() method public virtual void Accelerate() { Console.WriteLine("In MotorVehicle Accelerate() method"); Console.WriteLine(model + " accelerating"); }
}
// declare the Car class (derived from MotorVehicle) class Car : MotorVehicle {
// define a constructor public Car(string make, string model) : base(make, model) { // do nothing } // override the Accelerate() method (sealed) sealed public override void Accelerate() { Console.WriteLine("In Car Accelerate() method"); Console.WriteLine(model + " accelerating"); }
}
public class Example7_10 {
public static void Main() { // create a Car object Console.WriteLine("Creating a Car object"); Car myCar = new Car("Toyota", "MR2"); // call the Car object"s Accelerate() method Console.WriteLine("Calling myCar.Accelerate()"); myCar.Accelerate(); }
}
</source>
Sealed Methods
<source lang="csharp"> using System;
public class Name {
public string firstName; public string lastName; public Name(string firstName, string lastName) { this.firstName = firstName; this.lastName = lastName; } public virtual void Accelerate() { Console.WriteLine("In Name Accelerate() method"); Console.WriteLine(lastName + " accelerating"); }
}
public class MyName : Name {
public MyName(string firstName, string lastName) : base(firstName, lastName) { } sealed public override void Accelerate() { Console.WriteLine("In MyName Accelerate() method"); Console.WriteLine(lastName + " accelerating"); }
}
class Test{
public static void Main() { Console.WriteLine("Creating a MyName object"); MyName myMyName = new MyName("Toyota", "MR2"); // call the MyName object"s Accelerate() method Console.WriteLine("Calling myMyName.Accelerate()"); myMyName.Accelerate(); }
}
</source>