VB學習心得7.類別與物件導向設計

摘要:VB學習心得7.類別與物件導向設計

參考書籍:Visual Basic 2008程式設計學習教本

13-35頁
1.建立一個類別檔案,命名為MyCale,於其中建立一個名稱為Add的方法,並且接受兩個integer型態的參數,對其進行加總運算,回傳計算結果,此外,在表單中建立這個類別的實體物件,並且引用其Add方法
 

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mycalcm As New MyCalc
        Dim m1 As Integer = CInt(TextBox1.Text)
        Dim m2 As Integer = CInt(TextBox2.Text)
        MsgBox(mycalcm.Add(m1, m2))
    End Sub
End Class

Public Class MyCalc
    Public Function Add(ByVal n1 As Integer, ByVal n2 As Integer)
        Dim Addnumber As Integer = n1 + n2
        Return Addnumber
    End Function
End Class

10.參考第2題,除了包含AddCalc方法的MyCalc類別,建立一個繼承此類別的MyCalcS,並且於其中新增另外一個方法SubCalc,這個方法接受兩個integer參數,針對這兩個參數執行減法運算,在預設表單中,建立MyCalcS類別的物件實體,並透過實體引用AddCalc及SubCalc兩個方法,於專案另外建立一個繼承MyCalcS的子類別MyCalcSD,複寫SubCalc這個方法,並將運算結果的絕對值回傳


Public Class MyCalcS
    Inherits MyCalc
    Public Overridable Function SubCalc(ByVal m1 As Integer, ByVal m2 As Integer)
        Dim SubNumber As Integer = m1 - m2
        Return SubNumber
    End Function
End Class

Public Class MyCalcSD
    Inherits MyCalcS
    Public Overrides Function SubCalc(ByVal m1 As Integer, ByVal m2 As Integer) As Object
        Return MyBase.SubCalc(m1, m2)
    End Function

End Class

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mycalcm As New MyCalcS
        Dim m1 As Integer = CInt(TextBox1.Text)
        Dim m2 As Integer = CInt(TextBox2.Text)
        MsgBox(mycalcm.Add(m1, m2))
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim mycals As New MyCalcS
        Dim m1 As Integer = CInt(TextBox1.Text)
        Dim m2 As Integer = CInt(TextBox2.Text)
        MsgBox(mycals.SubCalc(m1, m2))
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim mycalsd As New MyCalcSD
        Dim m1 As Integer = CInt(TextBox1.Text)
        Dim m2 As Integer = CInt(TextBox2.Text)
        MsgBox(mycalsd.SubCalc(m1, m2))
    End Sub
End Class

 

 
17.建立一支類別,於其中新增一個抽象類別MyCalcA,於類別內部建立一個抽象Sub成員DoCalc,並且於表單檔案中嘗試建立一個新類別MyCalc,繼承MyCalcA,實作其中的方法成員DoCalc

Public MustInherit Class MyCalcA

    MustOverride Function DoCalc(ByVal m1 As Integer, ByVal m2 As Integer)

End Class

Public Class MyCalc
    Inherits MyCalcA
    Public Overrides Function DoCalc(ByVal m1 As Integer, ByVal m2 As Integer)
        Dim SubNumber As Integer = m1 - m2
        Return SubNumber
    End Function
End Class

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mycalcm As New MyCalc
        Dim m1 As Integer = CInt(TextBox1.Text)
        Dim m2 As Integer = CInt(TextBox2.Text)
        MsgBox(mycalcm.DoCalc(m1, m2))
    End Sub

End Class