Inheritance:
Using system; Class Parent {public void MSG () {console. writeline ("parent") ;}} class child: parent {}class program {static void main () {parent objparent = new parent (); Child objchild = new child (); objparent. MSG (); // parent objchild. MSG (); // parent console. readkey ();}}
Overwrite:
Using system; Class Parent {Public Virtual void MSG () {console. writeline ("parent") ;}} class child: parent {public override void MSG () {console. writeline ("child") ;}} class program {static void main () {parent objparent = new parent (); Child objchild = new child (); objparent. MSG (); // parent objchild. MSG (); // child console. readkey ();}}
Polymorphism:
Using system; Class Parent {Public Virtual void MSG () {console. writeline ("parent") ;}} class Child1: parent {public override void MSG () {console. writeline ("child_1") ;}} class child2: parent {public override void MSG () {console. writeline ("child_2") ;}} class program {static void main () {parent obj1 = new Child1 (); parent obj2 = new child2 (); obj1.msg (); // child_1 obj2.msg (); // child_2 console. readkey ();}}
Hide:
Using system; Class Parent {public void MSG () {console. writeline ("parent") ;}}/* intentionally hide the New Keyword */class Child1: parent {New Public void MSG () {console. writeline ("child_1");}/* You have no intention to hide the prompt, but the */class child2: parent {public void MSG () {console. writeline ("child_2") ;}} class program {static void main () {parent obj1 = new Child1 (); parent obj2 = new child2 (); child1 obj3 = new Child1 (); child2 obj4 = new child2 (); obj1.msg (); // parent obj2.msg (); // parent obj3.msg (); // child_1 obj4.msg (); // child_2 console. readkey ();}}