我有一个名为Car的课程:
Public Class Car
Public theColor As Color
Public speed As Double
Public Function run()
Return speed
End Function
End Class
在另一个类中,我创建了一个Car Class实例:
Public Class SUV
Dim newCar As New Car
Private Sub setColor()
'set theColor property
newCar.theColor = Color.Red
Dim dgv As New DataGridView
dgv.Rows.Add()
End Sub
Private Sub testDrive()
'call run() function
newCar.run()
End Sub
End Class
从上面的代码中, 如果我想设置类的属性,我只需编写一个实例和属性:
newCar.theColor = Color.Red
此外,如果我想调用类的方法,我只需编写一个实例,然后调用函数或子函数:
newCar.run()
但我不明白一行代码怎么会这样,例如:
Dim dgv As New DataGridView
dgv.Rows.Add()
上面的代码显示实例dgv
调用属性Rows
而不是调用方法Add()
回到我的班级(汽车和SUV) 如果我想调用这样的方法,如何在我的类中编写代码?
newCar.theColor.resetColor()
另一个代码:
newCar.theColor.setColor() = Color.Red
如果问题的标题与我提出的问题不符,我很抱歉。
由于
答案 0 :(得分:0)
此代码:
Dim dgv As New DataGridView
dgv.Rows.Add()
只是一个更简洁的等价物:
Dim dgv As New DataGridView
Dim rows As DataGridViewRowCollection = dgv.Rows
rows.Add()
所以,这段代码:
newCar.theColor.resetColor()
等同于:
Dim theColor As Color = newCar.theColor
theColor.resetColor()
现在,鉴于Color类型没有名为resetColor
的方法,该代码如何有意义?你要求的是不可能的,因为它没有意义。重置颜色是您在Car
对象上执行的操作,而不是Car
对象的颜色。如何对汽车做一些颜色的责任?