2014年10月28日 星期二

VB.NET 物件導向 Class.2 (類別安全性+多型+迴圈)

類別基本練習:類別安全性
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
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 = InputBox("輸入車牌")
        Dim cN As String = InputBox("輸入車款")
        Dim g As Double = InputBox("輸入排氣量")

        If car1.setData(pN, cN, g) = True Then       //先帶入值檢驗是否合法
            car1.Car(pN, cN, g)                                  //合法就帶入值
            car1.show()                                               //並秀出來
        Else
            MessageBox.Show("輸入錯誤請重新執行")
        End If

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

Class Car
    Dim pNum As Integer
    Dim cName As String
    Dim gas As Integer
----------------------------------------------------------------------------------------
//帶入檢驗合格的值
    Sub Car(pN, cN, g)
        pNum = pN
        cName = cN
        gas = g
    End Sub
----------------------------------------------------------------------------------------
//帶入值檢驗是否合格
    Function setData(pN, cN, g)
        Dim result As Boolean = True
        If g < 0 Then
            result = False
        End If
        Return result
    End Function
----------------------------------------------------------------------------------------
//內呼叫方法
    Sub show()
        ShowData()
    End Sub
----------------------------------------------------------------------------------------
    Private 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 = InputBox("輸入車牌")
        Dim cN As String = InputBox("輸入車款")
        Dim g As Double = InputBox("輸入排氣量")
----------------------------------------------------------------------------------------
//全部設定
        car1.setData(pN, cN, g)
        car1.showData()
----------------------------------------------------------------------------------------
//只改車牌
        pN = InputBox("輸入車牌")
        car1.setData(pN)
        car1.showData()
----------------------------------------------------------------------------------------
//只改車款&排氣量
        cN = InputBox("輸入車款")
        g = InputBox("輸入排氣量")
        car1.setData(cN, g)
        car1.showData()

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

Class Car
    Dim pNum As Integer
    Dim cName As String
    Dim gas As Integer
----------------------------------------------------------------------------------------
//方法相同傳入值不同有不同處理方法
    Sub setData(pN)
        pNum = pN
    End Sub
----------------------------------------------------------------------------------------
    Sub setData(cN, g)
        cName = cN
        gas = g
    End Sub
----------------------------------------------------------------------------------------
    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
        Dim i As Integer
----------------------------------------------------------------------------------------
//就只是迴圈
        For i = 1 To 5
            MessageBox.Show("請輸入第 " & i & " 輛車資料")
            pN = InputBox("輸入車牌")
            cN = InputBox("輸入車款")
            g = InputBox("輸入排氣量")
            If g < 0 Then
                i -= 1
                Continue For
            Else
                car1.setData(pN, cN, g)
                car1.showData()
            End If
        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
----------------------------------------------------------------------------------------


沒有留言:

張貼留言