Que : WAP to demonstrate Polymorphism in Vb.net through Constructor overloading.
Polymorphism in VB.NET.
Polymorphism is the concept that different objects have different implementations of the same characteristic. … Given two different classes with the same properties and methods, a variable of type object could be used to instantiate an object of either class
Constructor overloading in vb.net
When the same method name is used for more than one method, with different types of parameters and returned types, then the method is said to be overloaded. Constructor is a special method called ‘New()’ in vb.net and is defined as a Sub.Overloading feature is used most frequently to overload the constructor. We overload the constructor by defining more than one ‘Sub New()’ procedure. By overloading a constructor, we make available more than one constructor.So, while creating an object we can choose which constructor we want to use to instantiate the object. The only condition while overloading the constructor is that the constructor should have a signature which is different from other constructors.
Imports System.Console Module Module1 Structure areas Public area As Integer Public Sub display() WriteLine("Area = " & area) End Sub Public Sub New(ByRef side As Integer) area = side * side End Sub Public Sub New(ByVal l As Integer, ByVal b As Integer) area = l * b End Sub Public Sub New(ByVal r As Double) area = 4.13 * r * r End Sub End Structure Sub Main() Dim l, b, ch As Integer Dim r As Double WriteLine("1. Area of a Square") WriteLine("2. Area of a Rectange") WriteLine("3. Area of a Circle") WriteLine("Enter Your Choice : ") ch = ReadLine() Select Case ch Case 1 Write("Enter Size of a side : ") l = ReadLine() Dim s1 As areas = New areas(l) s1.display() Case 2 Write("Enter length : ") l = ReadLine() Write("Enter breadth : ") b = ReadLine() Dim s1 As areas = New areas(l, b) s1.display() Case 3 Write("Enter radius : ") r = ReadLine() Dim s1 As areas = New areas(r) s1.display() Case Else WriteLine("Enter a Valid Choice") End Select End Sub End Module