Inheritance Sample

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Car As New Cars
        Car.Engine = "Renault"
        Car.SeatingCapacity = 5
        Car.BHP = 5000
        Car.Color = Color.Black
        Car.Type = InheritanceSample.Cars.CarType.Sedan  'This from Child Class
        Car.GetMaxSpeed()  ' Will Return 0

        Dim Bus As New Buses
        Bus.Engine = "VOLVO"
        Bus.SeatingCapacity = 25
        Bus.BHP = 8000
        Bus.Color = Color.Yellow
        Bus.IsFrontLoadingEngine = False 'This from Child Class
        Bus.NoOFWheels = 8
        Bus.GetMaxSpeed()  ' Will Return 0

        Dim Truck As New Trucks
        Truck.Engine = "TATA"
        Truck.BHP = 12000
        Truck.Color = Color.Red
        Truck.Type = Trucks.TruckType.Loader
        Truck.WithCabin = False
        Truck.SeatingCapacity = 2
        Truck.GetMaxSpeed()  ' Will Return 0


        Dim MVP As New MVPs
        MVP.Engine = "INNOVA"
        MVP.BHP = 3000
        MVP.Color = Color.Silver
        MVP.SeatingCapacity = MVPs.Capcity.SevenSeater  'Hide Parent Class Property and Have new property with Same name
        MVP.GetMaxSpeed() ' Will Return 100 'Overriding of Methodss
        MVP.ChangeBHP(100) 'This will Change BHP Value to 100 from 3000
        MVP.ChangeBHP(100, 100) 'This will Change BHP Value to 100 * 100


    End Sub

End Class



Public Class Vehicles

    Public Property Engine As String
    Public Property SeatingCapacity As Integer
    Public Property Color As Color
    Public Property BHP As Int16

    Public Overridable Function GetMaxSpeed() As Integer  ' To Allow Child Class to Override base Class
        Return 100
    End Function

End Class


Public Class Cars
    Inherits Vehicles

    Public Enum CarType
        Sedan = 0
        Family = 1
    End Enum

    Public Property Type As CarType

End Class

Public Class Buses
    Inherits Vehicles

    Public IsFrontLoadingEngine As Boolean
    Public NoOFWheels As Integer

End Class

Public Class Trucks
    Inherits Vehicles

    Public Enum TruckType
        Dumper = 0
        Loader = 1
    End Enum

    Public Type As TruckType
    Public WithCabin As Boolean

End Class

Public Class MVPs
    Inherits Vehicles

    Public Enum Capcity
        SevenSeater = 0
        FiveSeater = 1
    End Enum

    Public Shadows Property SeatingCapacity As Capcity  'Different Return Type in Child Class So Shadow is Used
    Public Property LegRoomSpace As Integer

    Public Overrides Function GetMaxSpeed() As Integer ' Over Ride base Class Function/Method
        Return 1500
    End Function


    Public Sub ChangeBHP(Value As Integer)
        MyBase.BHP = Value
    End Sub

    Public Sub ChangeBHP(A As Integer, B As Integer)
        MyBase.BHP = A * B
    End Sub

End Class

Comments

Popular posts from this blog

Shared / Static Class in vb.net/C#

Xamarin Forms : PopUp Page with RG.Plugins.Popup

Text was truncated or one or more characters had no match in the target code page.". (SQL Server Import and Export Wizard)