构造函数有什么特别要做的吗?

  • 本文关键字:构造函数 vb.net
  • 更新时间 :
  • 英文 :


首先;我是VisualBasic的初学者。网络和我的课程要求我学习它。当前的主题是对象构造函数和构造函数方法。当前的练习(它不是评分或考试)要求我们创建一个带有构造函数方法的父类,以及一个带有new()调用所述函数的子类。它看起来有点像这样;

Protected MustInherit Class Vehicle()
Protected ReadOnly Property Serial_No As Integer
Protected Property Mileage As Integer
Protected Property Color As String

Protected Function CreateVehicle() As Object

End Function
End Class
Public Class Car
Inherits Vehicle
Public ReadOnly Property Car_Type As String

Public Sub New()
End Sub
End Class

我有问题的是,我不知道如何去做。不能只读属性只能在构造函数中编辑,不需要在构造函数中初始化对象吗?有什么特别的我需要添加在createvechile功能?

我确实问了老师,但他的回答是"放弃吧,去做别的事",这最终是非常没有帮助的。

编辑:(添加继承到子类)所以,在被要求澄清我在做什么之后;练习本身并不完全是关于这样做,但这是我在练习中挣扎的事情。目标是利用构造函数(New())创建一个Car对象,但是构造函数必须调用位于父类Vehicle内部的辅助函数。我的问题如下:我不确定如何在构造函数中实现函数。我知道如何调用方法/子/函数以及如何从它们获得返回,但我不确定如何从次要函数返回ReadOnly属性的值。在构造函数之外只读属性不会变得不可编辑吗?

我总是可以单独返回每个值,而不是作为一个对象,然后分别设置Car对象的值等于函数的返回值。但是,调用一个单独的函数,而不是将所有内容作为参数传递,然后直接在构造函数中执行,这有什么意义呢?

这可能是你的老师正在寻找的:

Public MustInherit Class Vehicle
Protected ReadOnly Property Serial_No As Integer
Protected Sub New(serialNumber As Integer)
Me.Serial_No = serialNumber
End Sub
End Class
Public Class Car
Inherits Vehicle
Public ReadOnly Property Car_Type As String
Public Sub New(serialNumber As Integer, carType As String)
MyBase.New(serialNumber)
Me.Car_Type = carType
End Sub
End Class

两个构造函数都接受形参,因此可以设置ReadOnly属性。

最新更新