我目前正在使用此代码移动夹具:
Public Class ClampSet
Public Sub New(ByVal gripL As Single, ByVal gripR As Single, ByVal passAxis As Integer)
GripDistanceRight.DimMillimeters = gripL
GripDistanceLeft.DimMillimeters = gripR
Axis = passAxis
End Sub
Public GripDistanceRight As clsDimension = New clsDimension()
Public GripDistanceLeft As clsDimension = New clsDimension()
Public Axis As Integer
Public Sub moveClampIn()
If (Axis = 1) Then
digiouts.MoveLeftClampIn()
ElseIf Axis = 2 Then
digiouts.MoveMiddleClampIn()
ElseIf Axis = 3 Then
digiouts.MoveRightClampIn()
End If
End Sub
Public Sub moveClampOut()
If (Axis = 1) Then
digiouts.MoveLeftClampOut()
ElseIf Axis = 2 Then
digiouts.MoveMiddleClampOut()
ElseIf Axis = 3 Then
digiouts.MoveRightClampOut()
End If
End Sub
End Class
我正在尝试了解有关OO编程的更多信息,而我无法理解代表。
我想我可以将一个委托作为参数传递给move()函数,这样这个类可以为我提供指定在初始化ClampSet对象时我真正想要使用哪个方法(即MoveLeftClampOut())的选项
我认为这将是一个更好的解决方案,因为我不知道将来我将拥有多少种不同的clampMove方法,并希望我的代码更灵活。
如果我可以使用委托更改move()上的ClampSet对象执行哪个方法,那么我的代码应该如何实现呢?
P.S。我必须使用别人类提供给我的方法。 (MoveLeftClampIn(),MoveLeftClampOut()等。)
答案 0 :(得分:0)
最好在你的情况下使用select语句。代表不是必需的。例如:您可以使用委托来调用另一个线程当前正在使用的方法以进行安全编码。