深入探讨visualbasic(vb.net)中接口的用法,公共方法调用不同的类

2020/05/19 06:46 · VB.NET · 18阅读 · 0评论
阿里云·云小站,新老用户同享,1核2G云服务器低至89元/年,229元/3年;2核4G3M3年639元
摘要:

上次我们简单介绍了下接口的运用初步,未学习的小伙伴可以移步文章《vb.net中如何使用接口,浅析vb.net中接口的意义》,现在我们进一步学习vb.net接口的使用:vb.net中的接口主要用于规范代码结构;内容只有方法参数,但不包含方法的处理代码;调用接口,不同类可以使用一样的方法名,为实现多态提供了一个条件。

上次我们简单介绍了下接口的运用初步,

未学习的小伙伴可以移步文章《visualbasic(vb.net)中如何使用接口,浅析vb.net中接口的意义》,

现在我们进一步学习vb.net接口的使用,

第一步,使用“模块”module,在模块中创建接口,

同时构造使用这个接口的两个类,

Public Module Module1
    rem 创建接口
    Public Interface MyInterface
        Property StuName() As String
        Function GetScores(ByVal x As Double) As Double
    End Interface
    
    rem 第一个使用接口的类
    Public Class StuInfor
        Implements MyInterface
        Dim MyName As String
        Public Function GetScores(ByVal x As Double) As Double Implements MyInterface.GetScores
            GetScores = x * 0.2
        End Function
        Public Property StuName() As String Implements MyInterface.StuName
            Get
                Return MyName
            End Get
            Set(ByVal value As String)
                MyName = value
            End Set
        End Property
    End Class
    
    rem 第二个使用接口的类
    Public Class StuMessage
        Implements MyInterface
        Dim MyName As String
        Public Function GetScores(ByVal x As Double) As Double Implements MyInterface.GetScores
            GetScores = x * 0.8
        End Function
        Public Property StuName() As String Implements MyInterface.StuName
            Get
                Return MyName
            End Get
            Set(ByVal value As String)
                MyName = value
            End Set
        End Property
    End Class
End Module

这里有几个知识点,

1、模块中的方法都可以直接使用

2、模块中可以构建类

3、使用同一个接口的类,方法名可以相同,也可以不同

4、在输入Implements使用接口后,回车会自动构建类的框架

第二步,在窗体代码中创建通用过程,同时调用这个通用过程,实现不同类的执行,进而实现多态

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim obj1 As New StuInfor
        Dim obj2 As New StuMessage
        ShowScore(obj1, "期中", 85)
        ShowScore(obj2, "期末", 90)
    End Sub
    
    rem 这是个通用过程,obj为对象-即我们要调用的类,s为名称,score为分数
    rem 这个类是将某个学生的总分进行换算后的分数msgbox出来
    Private Sub ShowScore(ByVal obj As MyInterface, ByVal s As String, ByVal Score As Double)
        Try
            MsgBox(s & "成绩为:" & obj.GetScores(Score).ToString("N2"))
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
    End Sub
End Class

这里我们能够很清晰看到

1、调动模块里的类,没有经过实例化(这个我会在另一篇文章了详细介绍)

2、将类当做一个对象(变量)传入,增加了处理灵活性,是个很好的思路

vb.net中接口运用方法总结

vb.net中的接口主要用于规范代码结构

内容只有方法参数,但不包含方法的处理代码

调用接口,不同类可以使用一样的方法名,为实现多态提供了一个条件

您可能感兴趣的文章

本文地址:https://www.huazai186.com/post/64.html
文章标签:
版权声明:本文为原创文章,版权归 羽化飞翔 所有,欢迎分享本文,转载请保留出处!

文件下载

上一篇:
下一篇:
腾讯云618云聚惠活动火热进行中,1核2G-288元/3年,2核4G3M-1288元/3年,2核8G5M-1688元/3年,4核8G5M-1999元/3年

 发表评论


表情