VB.Net Tutorial/Class Module/Overloaded functions

Материал из VB Эксперт
Версия от 15:55, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Inheritance and overloads

<source lang="vbnet">Public Class Tester

   Public Shared Sub Main
       Dim objBob As New Bob
       objBob.Walk("Now I"m walking...")
   End Sub

End Class Public Class Person

   Public Sub Walk()
       Console.WriteLine("Walking...")
   End Sub

End Class Class Bob

   Inherits Person
   Public Overloads Sub Walk(ByVal Text As String)
       Console.WriteLine(Text)
   End Sub

End Class</source>

Now I"m walking...

Method Overloads with different number of parameters

<source lang="vbnet">Public Class Tester

   Public Shared Sub Main
       Dim Alerter As New MyMessageBox
       
       Alerter.Alert("No Problems!")
       Alerter.Alert("No Problems!", MsgBoxStyle.Exclamation)
   End Sub

End Class

Public Class MyMessageBox

   Public Sub Alert(ByVal Text As String)
       MsgBox(Text)
   End Sub
   Public Sub Alert(ByVal Text As String, ByVal Icon As MsgBoxStyle)
       MsgBox(Text, Icon)
   End Sub

End Class</source>

Overloads function

<source lang="vbnet">public class Test

  public Shared Sub Main
       Console.WriteLine(Min(10.1, 10))
       Console.WriteLine(Min("last", "first"))
       Console.WriteLine(Min(#1/1/2000#, #3/4/2000#))
  End Sub
   Overloads Shared Function Min(ByVal dblA As Double, ByVal dblB As Double) As Double
       Min = IIf(dblA < dblB, dblA, dblB)
   End Function
   Overloads Shared Function Min(ByVal strA As String, ByVal strB As String) As String
       Min = IIf(strA < strB, strA, strB)
   End Function
   Overloads Shared Function Min(ByVal dteA As Date, ByVal dteB As Date) As Date
       Min = IIf(dteA < dteB, dteA, dteB)
   End Function

End class</source>

10
first
01/01/2000 12:00:00 AM

Using overloaded methods

<source lang="vbnet">Public Class Tester

  Public Shared Sub Main
     Console.WriteLine("The square of Integer 7 is " & _
        Square(7) & vbCrLf & "The square of Double " & _
        "7.5 is " & Square(7.5))
  End Sub 
  
  Shared Function Square(ByVal value As Integer) As Integer
     Return Convert.ToInt32(value ^ 2)
  End Function " Square
  Shared Function Square(ByVal value As Double) As Double
     Return value ^ 2
  End Function " Square

End Class</source>

The square of Integer 7 is 49
The square of Double 7.5 is 56.25

Using overloaded methods to print arrays of different types

<source lang="vbnet">Module Test

  Sub Main()
     Dim integerArray As Integer() = {1, 2, 3, 4, 5, 6}
     Dim doubleArray As Double() = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7}
     Dim charArray As Char() = {"H"c, "E"c, "L"c, "L"c, "O"c}
     PrintArray(integerArray)
     PrintArray(doubleArray)
     PrintArray(charArray) 
  End Sub " Main
  Sub PrintArray(ByVal inputArray() As Integer)
     For Each element As Integer In inputArray
        Console.Write(element.ToString() & " ")
     Next element
     Console.WriteLine(vbCrLf)
  End Sub 
  
  Sub PrintArray(ByVal inputArray() As Double)
     For Each element As Double In inputArray
        Console.Write(element.ToString() & " ")
     Next element
     Console.WriteLine(vbCrLf)
  End Sub
  
  Sub PrintArray(ByVal inputArray() As Char)
     For Each element As Char In inputArray
        Console.Write(element.ToString() & " ")
     Next element
     Console.WriteLine(vbCrLf)
  End Sub 

End Module</source>

1 2 3 4 5 6
1.1 2.2 3.3 4.4 5.5 6.6 7.7
H E L L O