在本文中將會(huì)用到一個(gè)自定義類 dog ,代碼如下:
| Public Class dogClass dog Private s_name As String Private s_color As Color Private s_age As Integer Public Sub New()Sub New() s_name = "塞北的雪" s_age = 22 s_color = System.Drawing.Color.Red End Sub Public Property Name()Property Name() As String Get Return s_name End Get Set(ByVal value As String) s_name = value End Set End Property Public Property Color()Property Color() As Color Get Return s_color End Get Set(ByVal value As Color) s_color = value End Set End Property Public Property Age()Property Age() As Integer Get Return s_age End Get Set(ByVal value As Integer) s_age = value End Set End Property Public Shared Operator +(ByVal a As dog, ByVal b As dog) Dim c As New dog c.Name = a.Name + b.Name c.Age = a.Age + b.Age c.Color = Color.FromArgb((a.Color.ToArgb + b.Color.ToArgb) / 2) Return c End Operator End Class |
1、Is 運(yùn)算符
Is運(yùn)算符比較兩個(gè)引用對(duì)象是否引用了同一實(shí)例。 例子如下:
| Dim a As New dog Dim b As New dog() If a Is b Then MsgBox("True") Else MsgBox("False") End If b = a b.Name = "NorthSnow" If a Is b Then MsgBox("True") Else MsgBox("false") End If 'false 'true |
2、操作符重載
我們可以根據(jù)需要對(duì)操作符進(jìn)行重載,本文中的 dog 類 就 對(duì) + 操作符 進(jìn)行了重載 操作。此時(shí)對(duì)兩個(gè)dog 類進(jìn)行相加時(shí),會(huì)返回一個(gè)dog 類實(shí)例 ,他的 Name 是 那兩個(gè) dog 實(shí)例的 名字相加,年齡也是 dog 實(shí)例的年齡之和,顏色是兩個(gè)顏色的平均值。例子如下:
| Dim sb As New System.Text.StringBuilder Dim m As New dog Dim n As New dog Dim c As dog m.Name = "NorthSnow" c = m + n sb.AppendLine() sb.Append(m.Name) sb.Append("--") sb.Append(m.Age) sb.Append("--") sb.Append(m.Color.ToArgb) sb.AppendLine() sb.Append(n.Name) sb.Append("--") sb.Append(n.Age) sb.Append("--") sb.Append(n.Color.ToArgb) sb.AppendLine() sb.Append(c.Name) sb.Append("--") sb.Append(c.Age) sb.Append("--") sb.Append(c.Color.ToArgb) MsgBox(sb.ToString) 'NorthSnow--22---65536 '塞北的雪--22---65536 'NorthSnow塞北的雪--44---65536 |

