using System; using Polymorphism; namespace Polymorphism { public static class CalCc { public static int add(int a, int b) { return a + b; } public static int add(int a, int b, int c) { return a + b + c; } public static float add(float a, float b) { return (a + b); } } } class ProgramTest { static void Main(string[] args) { Console.WriteLine(CalCc.add(12,23)); Console.WriteLine(CalCc.add(12,23,25)); Console.WriteLine(CalCc.add(5.6f,7.8f)); Console.ReadKey(); } }
using System; using Polymorphism; namespace Polymorphism { public static class CalCc { public static int add(int a, int b) { return a + b; } public static int add(int a, int b, int c) { return a + b + c; } public static float add(float a, float b) { return (a + b); } } } class ProgramTest { static void Main(string[] args) { Console.WriteLine(CalCc.add(12,23)); Console.WriteLine(CalCc.add(12,23,25)); Console.WriteLine(CalCc.add(5.6f,7.8f)); Console.ReadKey(); } }
Method Overriding:
//override mane ektar opor arekta chore bosha //mane ekta method er opor arekta method chore boshakei bole method overriding //eta runtime ei hoy //jei method tay override hoy setay override use korte hoy //jei method tar opor override hoy seake virtual sombodhon korte hoy //in this example we are overriding the eat method using System; namespace MethodOverride { class Program { static void Main(string[] args) { Dog d=new Dog(); d.eat(); Console.ReadKey(); } } public class Animal { public virtual void eat() { Console.WriteLine("Eating Food."); } } public class Dog : Animal { public override void eat() { Console.WriteLine("Eating bread"); } } }
another good exmple:
using System; namespace MethodOverrideExample { class Program { static void Main(string[] args) { Cars[] c = new Cars[2]; c[0]=new newCars(); c[1]=new oldCars(); foreach (Cars key in c) { key.printInfo(); } Console.ReadKey(); } } class Cars { public virtual void printInfo() { Console.WriteLine("This is the base class"); } } class newCars : Cars { public override void printInfo() { Console.WriteLine("This is new cars class"); } } class oldCars : Cars { public override void printInfo() { Console.WriteLine("This is the old cars"); } } }
this video is good for learning overriding:
Method Hiding:
using System; namespace Method_Hiding { class FC { public virtual void Display() { Console.WriteLine("FC: Display"); } } class SC : FC { public new void Display() { //base.Display(); Console.WriteLine("SC: Display"); } } class TC : SC { public new void Display() { //base.Display(); Console.WriteLine("TC: Display"); } } class Program { static void Main(string[] args) { SC p1=new SC(); p1.Display(); //((FC) p1).Display(); oobject casting FC p2=new FC(); p2.Display(); // SC pp = new FC(); it is not possible Console.ReadKey(); } } }