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(); } }
Month: February 2011
Illustrates sealed methods
/* 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(); } }
Readonly Property
using System; //VersionTest public class VersionReporter { public static string version { get { return "2.0.0.0"; } } public VersionReporter() { } } class VersionOutput { static void Main(string[] args) { string ver = VersionReporter.version; Console.WriteLine("Using version {0}", ver); } }
Demonstrate readonly
/*
C#: The Complete Reference
by Herbert Schildt
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Demonstrate readonly.
using System;
class MyClass {
public static readonly int SIZE = 10;
}
public class DemoReadOnly {
public static void Main() {
int[]nums = new int[MyClass.SIZE];
for(int i=0; i
The use of readonly fields
/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example6_3.cs illustrates the use of readonly fields */ // declare the Car class class Car { // declare a readonly field public readonly string make; // declare a static readonly field public static readonly int wheels = 4; // define a constructor public Car(string make) { System.Console.WriteLine("Creating a Car object"); this.make = make; } } public class Example6_3 { public static void Main() { System.Console.WriteLine("Car.wheels = " + Car.wheels); // Car.wheels = 5; // causes compilation error // create a Car object Car myCar = new Car("Toyota"); System.Console.WriteLine("myCar.make = " + myCar.make); // myCar.make = "Porsche"; // causes compilation error } }
ReadOnly Fields
using System; using System.Collections.Generic; using System.Text; class Tire { public static readonly Tire GoodStone = new Tire(90); public static readonly Tire FireYear = new Tire(100); public int manufactureID; public Tire() { } public Tire(int ID) { manufactureID = ID; } } class Employee { public readonly string SSN; public Employee(string empSSN) { SSN = empSSN; } } class Program { static void Main(string[] args) { Tire myTire = Tire.FireYear; Console.WriteLine("ID of my tire is: {0}", myTire.manufactureID); Employee e = new Employee("111-22-1111"); // e.SSN = "222-22-2222"; // error! } }
User-defined public method
using System; public class MaximumFinder { public void DetermineMaximum() { Console.WriteLine( "Enter three floating-point values, pressing 'Enter' after each one: " ); double number1 = Convert.ToDouble( Console.ReadLine() ); double number2 = Convert.ToDouble( Console.ReadLine() ); double number3 = Convert.ToDouble( Console.ReadLine() ); double result = Maximum( number1, number2, number3 ); Console.WriteLine( "Maximum is: " + result ); } public double Maximum( double x, double y, double z ) { double maximumValue = x; if ( y > maximumValue ) maximumValue = y; if ( z > maximumValue ) maximumValue = z; return maximumValue; } } public class MaximumFinderTest { public static void Main( string[] args ) { MaximumFinder maximumFinder = new MaximumFinder(); maximumFinder.DetermineMaximum(); } }