Mega Code Archive

 
Categories / C# Tutorial / Class
 

Illustrates member hiding

using System; public class BaseClass {   public string lastName;   public string firstName;   public BaseClass(string lastName, string firstName)   {     Console.WriteLine("In BaseClass constructor");     this.lastName = lastName;     this.firstName = firstName;     Console.WriteLine("this.lastName = " + this.lastName);     Console.WriteLine("this.firstName = " + this.firstName);   }   public void DisplayfirstName()   {     Console.WriteLine("In BaseClass DisplayfirstName() method");     Console.WriteLine("firstName = " + firstName);   } } public class DerivedClass : BaseClass {   public new string firstName;   public DerivedClass(string lastName, string firstName) : base(lastName, "Test")   {     Console.WriteLine("In DerivedClass constructor");     this.firstName = firstName;     Console.WriteLine("this.firstName = " + this.firstName);   }   public new void DisplayfirstName()   {     Console.WriteLine("In DerivedClass DisplayfirstName() method");     Console.WriteLine("firstName = " + firstName);     base.DisplayfirstName();   } } class MainClass {   public static void Main()   {     Console.WriteLine("Creating a DerivedClass object");     DerivedClass myDerivedClass = new DerivedClass("A", "B");     Console.WriteLine("Back in Main() method");     Console.WriteLine("myDerivedClass.lastName = " + myDerivedClass.lastName);     Console.WriteLine("myDerivedClass.firstName = " + myDerivedClass.firstName);     Console.WriteLine("Calling myDerivedClass.DisplayfirstName()");     myDerivedClass.DisplayfirstName();   } } Creating a DerivedClass object In BaseClass constructor this.lastName = A this.firstName = Test In DerivedClass constructor this.firstName = B Back in Main() method myDerivedClass.lastName = A myDerivedClass.firstName = B Calling myDerivedClass.DisplayfirstName() In DerivedClass DisplayfirstName() method firstName = B In BaseClass DisplayfirstName() method firstName = Test