polymorphism c# example
Example 1: c# polymorphism
class Animal{
public virtual void animalSound() {
Console.WriteLine("The animal makes a sound");
}
}
class Pig: Animal {
public override void animalSound() {
Console.WriteLine("The pig says: wee wee");
}
}
class Dog: Animal {
public override void animalSound() {
Console.WriteLine("The dog says: bow wow");
}
}
static class main {
static void Main(){
Animal[] animals = new Animal[3];
animals[0] = new Animal();
animals[1] = new Dog();
animals[2] = new Pig();
foreach (Animal a in animals){
a.animalSound();
}
}
}
Example 2: what is polymorphism
POLYMORPHISM: It is an ability of object to behave in multiple
form. The most common use of polymorphism is Java, when a
parent class reference type of variable is used to refer to a child
class object.
In my framework
E.g.: WebDriver driver = new ChromeDriver();
We use method overloading and overriding to achieve
Polymorphism.
There are two types of achieving Polymorphism
Upcasting & Downcasting
Upcasting is casting a subtype to a supertype,
going up in the inheritance tree.
It is done implicitly
in order to use method available on any
interface/class, the object should be of
same class or of class implementing the interface.
WebDriver driver = new ChromeDriver();
or
TakeScreenShot ts = new ChromeDriver();
Downcasting is casting to a subtype,
going down in the inheritance tree.
It is done to access sub class features.
It has to be done manually
ChromeDriver driver = (ChromeDriver)Webdriver;
Example 3: polymorphism in c#
public class X
{
public virtual void A()
{
}
}
public class Y : X
{
public override void A()
{
}
}