VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > VBnet >
  • vb.net教程之vb.net中用接口实现多态性

  • 2015-11-09 23:07 来源:未知

用户可以在vb.net中使用接口来完成多态性的实现。通过使用多接口,用户可以在不中断运行代码的情况下,允许运行多种软件的系统组件。
接口象类那样描述属性和方法,但是它和类不同的是,接口不能提供任何implementation。
为了使用接口来实现多态性,用户需先建立一个接口,并且通过其他的几个类实现该接口。用户可以用几乎相同的方法调用其他对象已经实现的方法。
下面这个例子就是使用接口的方法实现多态性:

Namespace PolyNamespace
   Interface Animal
        Sub Move(ByRef Distance As Double)
        Sub Bite(Byval What As Object)
   End Interface
   Class Flea
        Implements animal
        Public Sub bite(Byval What As Object)Implements animal.bite
          'Bite something
        End Sub
        Sub Move(ByRef Distance AS Double)Implements animal.move
          distance=Distance+1
        End Sub
   End Class
   Class Dog
      Implements animal
      Public Sub bite(Byval What As Object)Implements animal.bite
        'Bite something
      End Sub
      Sub Move(ByRef Distance AS Double)Implements animal.move
         distance=Distance+100
      End sub
   End Class
End Namespace

'add this section to the your form
Protected Sub Button1_Click(Byval sender As System.Object,_
              Byval e As System.EventArgs)
   Dim aFlea As New Flea()
   Dim anobj As Object()
   Dim aDog As New Dog()
   GetFood(aflea,anobj)
   GetFood(aDog,anobj)
End Sub

Public sub GetFood(Byval Critter As Animal,Byval Food As Object)
   Dim dblDistance As Double
   'Code to calculate distance to food(omitted).
   Critter.Move(dblDistance) 'Early bound(vtable)
   Critter.Bite(Food) 'Early bound(vtable)
End Sub
相关教程