|
//Overriding a Method
using
System;
public
class Customer
{
public
virtual void CustomerType()
{
Console.WriteLine("I am a customer");
}
}
public
class CorporateCustomer
: Customer
{
public
override void
CustomerType()
{
Console.WriteLine("I am a corporate customer");
}
}
public
class PersonalCustomer
: Customer
{
public
override void
CustomerType()
{
Console.WriteLine("I am a personal customer");
}
}
public
class MainClass
{
public
static void Main()
{
Customer[] C = new
Customer[3];
C[0] =
new CorporateCustomer();
C[1] =
new PersonalCustomer();
C[2] =
new Customer();
foreach (Customer CustomerObject
in C)
{
CustomerObject.CustomerType();
}
}
}
//Hiding a Method
using System;
public
class Customer
{
public
virtual void CustomerType()
{
Console.WriteLine("I am a customer");
}
}
//use the new operator to hide the base class method
public
class CorporateCustomer
: Customer
{
public
new void CustomerType()
{
Console.WriteLine("I am a corporate customer");
}
}
public
class PersonalCustomer
: Customer
{
public
override void
CustomerType()
{
Console.WriteLine("I am a personal customer");
}
}
public
class MainClass
{
public
static void Main()
{
Customer[] C = new
Customer[3];
C[0] =
new CorporateCustomer();
C[1] =
new PersonalCustomer();
C[2] =
new Customer();
foreach (Customer CustomerObject
in C)
{
CustomerObject.CustomerType();
}
}
}
|