• vb.net 实现多态


    1. 新建一个module,设置public 其他类才可以调用

    Public Module Module2
        Public Interface MyInterface
            Property stuName As String
            Function GetScore(ByVal x As Single) As Single
        End Interface
    
        Public Class StuInfo
            Implements MyInterface
            Private studentScore As Single
            Private studentName As String
            Public Property Score() As Single
                Get
                    Return studentScore
                End Get
                Set(ByVal value As Single)
                    studentScore = value
                End Set
            End Property
            Public Function GetScore(ByVal x As Single) As Single Implements MyInterface.GetScore
                Return x * 0.8
            End Function
    
            Public Property StuName() As String Implements MyInterface.stuName
                Get
                    Return studentName
                End Get
                Set(ByVal value As String)
                    studentName = value
                End Set
            End Property
        End Class
    
    
        Public Class StuMessage
            Implements MyInterface
            Private studentName As String
            Private stuScore As Single
            Public Property Score() As Single
                Get
                    Return stuScore
                End Get
                Set(ByVal value As Single)
                    stuScore = value
                End Set
            End Property
            Public Function GetScore(ByVal x As Single) As Single Implements MyInterface.GetScore
                Return x * 0.8
            End Function
    
            Public Property StuName() As String Implements MyInterface.stuName
                Get
                    Return studentName
                End Get
                Set(ByVal value As String)
                    studentName = value
                End Set
            End Property
    
        End Class
    
    End Module

    2. 测试页面:

    Public Class TestClassForm
        Public Sub ShowScore(ByVal obj As MyInterface, ByVal s As String, ByVal score As Single)
            MsgBox(s & "成绩为:" & obj.GetScore(score) & "")
        End Sub
        Private Sub TestClassForm_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 obj1 As New StuInfo()
            Dim obj2 As New StuMessage()
            ShowScore(obj1, "期中", 100)
            ShowScore(obj2, "期末", 100)
        End Sub
    End Class
  • 相关阅读:
    SVG的引入历程
    Webstorm的常用快捷键
    TypeScript
    Vue Router
    ISO8601
    html5语义化
    删除已有的 HTML 元素
    with(){}方法
    Jquery学习笔记
    css权值问题
  • 原文地址:https://www.cnblogs.com/sxjljj/p/11442041.html
Copyright © 2020-2023  润新知