VB.Net运算符重载

说明:
本示例通过实现一个复数加法程序,展示VB.Net如何重载运算符和ToString()方法

讲义:
在复数计算的程序中,我们需要自定义复数的数据类型,因为在.Net中并没有提供复数的数据类型,在这里我定义了一个复数类Plural

QQ截图2

并且分别定义了实部(Real)与虚部(Imaginary)的属性,这样就简单的完成了一个复数类数据结构的定义
为了查看结果的方便,我们还需要把它存储的数据转换成“a+bi”的形式输出,这时就需要重写ToString()方法

QQ截图3

这里重写ToString()方法的原因主要是为了日后调用酷点,当然你不用这样方法也行

Point:这里涉及有个VB的特性要提一下,对于非字符串的数据类型要作为字符串输出时,VB会隐式调用该对象的ToString()方法转换为字符串输出,而正如我们所了解的C#通常需要a.ToString()来显式调用它

调用时的酷就是可以实现Console.WriteLine(a)这种简洁的代码

光有数据类型还不行,我们还需要对它进行运算
根据复数4则运算的定义,加法是
(a+bi)+(c+di)=(a+c)+(b+d)i
我们把这种定义写到数据类型里面去,这就是运算符重载,具体语法为

QQ截图4

这样就完成了最基本的定义,调用

QQ截图5

应用场景:
适合自定义数据类型并且需要对该类型进行运算操作的时候

最后送上源代码:运算符重载.rar

不允许评论