C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Class: The Perl class here provides the implementation that overrides ToString.
Object: When Perl is used as an Object, its custom ToString implementation is still used.
New: When we construct the Perl instance, its fields are set to 2 and 3. It is passed to the Console.WriteLine subroutine as an Object.
Console: In Console.WriteLine, the ToString function is called on that Object. The Overrides Function ToString implementation is used.
ConsoleVB.NET program that overrides ToString
Module Module1
Class Perl
Dim _a As Integer
Dim _b As Integer
Public Sub New(ByVal a As Integer, ByVal b As Integer)
_a = a
_b = b
End Sub
Public Overrides Function ToString() As String
Return String.Format("[{0}, {1}]", _a, _b)
End Function
End Class
Sub Main()
Dim p As Perl = New Perl(2, 3)
Console.WriteLine(p)
End Sub
End Module
Output
[2, 3]
Opinion: The term "overridable" may be a clearer description of a virtual function. The term virtual is less obvious.
FunctionSubAnd: This will cause it to be used as the implementation for less derived type references such as Object.