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();
}
}

