2014年10月30日 星期四

VB.NET 物件導向 Class.3 (建構子+類別陣列+繼承)

建構子:
-----------------------------------------------------------------------------
Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim car1 As New Car

    End Sub
End Class
==============================================

Class Car
    Dim pNum As Integer
    Dim cName As String
    Dim gas As Double

    //建構子
    Sub New()
        pNum = 2266
        cName = "Masalaty"
        gas = 12000
    End Sub

End Class
-----------------------------------------------------------------------------

類別陣列:
-----------------------------------------------------------------------------
Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim cars(2) As Car
        Dim pN As Integer
        Dim cN As String
        Dim g As Double
        Dim i As Integer
-----------------------------------------------------------------------------
        For i = 1 To cars.Length

            //分別New出來
            cars(i - 1) = New Car

            MessageBox.Show("請輸入第 " & i & " 輛車資料")
            pN = InputBox("輸入車牌")
            cN = InputBox("輸入車款")
            g = InputBox("輸入排氣量")
            cars(i - 1).setData(pN, cN, g)
        Next
-----------------------------------------------------------------------------
        For i = 1 To cars.Length
            cars(i - 1).showData()
        Next

    End Sub
End Class
==============================================
Class Car
    Dim pNum As Integer
    Dim cName As String
    Dim gas As Double
-----------------------------------------------------------------------------
    Sub setData(pN, cN, g)
        pNum = pN
        cName = cN
        gas = g
    End Sub
-----------------------------------------------------------------------------
    Sub showData()
        MessageBox.Show("車牌號碼:" & pNum & vbCr &
                        "車款:" & cName & vbCr &
                        "排氣量:" & gas)
    End Sub
End Class
-----------------------------------------------------------------------------

繼承:
-----------------------------------------------------------------------------
Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim car1 As New Car
        Dim pN As Integer
        Dim cN As String
        Dim g As Double
-----------------------------------------------------------------------------
        MessageBox.Show("請輸入汽車資料")
        pN = InputBox("輸入車牌")
        cN = InputBox("輸入車款")
        g = InputBox("輸入排氣量")
        car1.setData(pN, cN, g)
        car1.showData()
-----------------------------------------------------------------------------
        Dim racCar1 As New racingCar
        MessageBox.Show("請輸入賽車資料")
        pN = InputBox("輸入車牌")
        cN = InputBox("輸入車款")
        g = InputBox("輸入排氣量")

        '即使類別中沒有任何方法仍能使用父類別的方法
        racCar1.setData(pN, cN, g)
        racCar1.showData()
-----------------------------------------------------------------------------
        Dim racCar2 As New racingCar
        Dim wind As Integer
        MessageBox.Show("請輸入賽車資料")
        pN = InputBox("輸入車牌")
        cN = InputBox("輸入車款")
        g = InputBox("輸入排氣量")
        wind = InputBox("輸入風阻係數")

        racCar2.setData(pN, cN, g)
        racCar2.setWind(wind)
        racCar2.showData()
        racCar2.showInfo()

    End Sub
End Class
==============================================

Class Car
    Dim pNum As Integer
    Dim cName As String
    Dim gas As Double
-----------------------------------------------------------------------------
    Sub setData(pN, cN, g)
        pNum = pN
        cName = cN
        gas = g
    End Sub
-----------------------------------------------------------------------------
    Sub showData()
        MessageBox.Show("車牌號碼:" & pNum & vbCr &
                        "車款:" & cName & vbCr &
                        "排氣量:" & gas)
    End Sub

End Class
==============================================
Class racingCar
    Inherits Car              //一定要換行
    Dim wind As Integer
    Sub setWind(w)
        wind = w
    End Sub
-----------------------------------------------------------------------------
    Sub showInfo()
        MessageBox.Show("風阻係數為:" & wind)
    End Sub
End Class
-----------------------------------------------------------------------------



沒有留言:

張貼留言