Friday, September 16, 2011

.NET interview questions: - How to implement dynamic polymorphism?

This is the .NET interview questions which you come across many a times. So
following is the answer to it with explanation.

Dynamic polymorphism is implemented by using overriding and virtual keyword.

Below is a simple code snippet which has three classes, Customer class is the
parent class.CustomerDiscount10Percent and CustomerDiscount20Percent are child
classes.

Customer parent class has a discount function which returns zero discounts. This
function is defined as virtual and then overridden by both the child classes
with 10 and 20% discount.

class Customer
{
public string customerName;
public string customerCode;
public virtual int Discount()
{
return 0;
}
}

class CustomerDiscount10Percent : Customer
{
public override int Discount()
{
return 10;
}

}

class CustomerDiscount20Percent : Customer
{
public override int Discount()
{
return 20;
}

}

At the client side on the fly your parent object can point to any child classes and invoke the child implementation accordingly. This is called as dynamic polymorphism; the parent object can point to any of the child objects and invoke the child function dynamically.
Customer obj;
obj = new CustomerDiscount10Percent();
obj = new CustomerDiscount20Percent();

See the following UML video on Use Case Diagram: -





Dotnet interview questions and answers for preparation of real time interviews.

Regards,

Get more from author’s blogs for Most asked Dotnet interview question


No comments: