Suppose you have a class which is derived from a base class you
want to do some action on when the base class object is initialized but you don’t
want to alter the base class constructor or you don’t have the rights to modify
the base class constructor then C# comes in handy to provide a mechanism to do
the logic in your derived class itself.
You need to use the base keyword to do this task,
class
BaseClass1
{
public
BaseClass1()
{
Console.WriteLine("BaseClass1() Called! ");
}
public
BaseClass1(int Count)
{
Console.WriteLine("BaseClass1(int Count) Called! ");
}
}
class
DerivedClass1 : BaseClass1
{
public
DerivedClass1()
: base()
{
Console.WriteLine("DerivedClass1() Called! ");
}
}
class
Program
{
static
void
Main(string[] args)
{
DerivedClass1
DerClObj1 = new DerivedClass1();
Console.ReadLine();
}
}
OK, what if I want to pass the value to the base class via
derived class?
We are going to see how to pass one value from the client
code and pass one value from the derived class and how the base class is
displaying the both values.
Write another constructor which takes two parameters
public BaseClass1(int
Count, string Caller)
{
Console.WriteLine("BaseClass1(int Count)
Called! Caller is : " + Caller + "Count is: " + Count.ToString());
}
Then call the base class constructor in the derived class by
public
DerivedClass1(int Count)
: base(Count,
"Call from DerivedClass With Love")
{
Console.WriteLine("DerivedClass1(int
Count) Called! ");
}
Then
create the object in the Client Code
DerivedClass1 DerClObj2 = new DerivedClass1(2);
Here
is the full program
class BaseClass1
{
public BaseClass1()
{
Console.WriteLine("BaseClass1() Called! ");
}
public BaseClass1(int Count, string Caller)
{
Console.WriteLine("BaseClass1(int Count) Called! Caller is :
" + Caller + "Count is: " + Count.ToString());
}
}
class DerivedClass1 : BaseClass1
{
public DerivedClass1()
: base()
{
Console.WriteLine("DerivedClass1() Called! ");
}
public DerivedClass1(int Count)
: base(Count, "Call from DerivedClass With Love")
{
Console.WriteLine("DerivedClass1(int Count) Called! ");
}
}
class Program
{
static void Main(string[] args)
{
//DerivedClass1 DerClObj1 = new DerivedClass1();
DerivedClass1 DerClObj2 = new
DerivedClass1(2);
Console.ReadLine();
}
}
The Output is:
BaseClass1(int Count) Called! Caller is : Call from
DerivedClass With LoveCount is: 2
DerivedClass1(int Count) Called!
Comments