构造函数
构造函数是在实例化某个类时提供的一种特殊方法它允许您在创建该类时设置其初始状态构造函数通常称为New例如以下代码突出显示了带有构造函数的购物车
Public class ShopingCart
private _datecreated As DateTime
private _items As List(Of CartItem)
Public Sub New()
_items=New List(Of CartItem)
_dateCreated=DateTimeNow
End Class
该构造函数的作用是创建另一个对象CartItem对象的一个新List这是保存购物车记录项的位置CartItem对象的一个集合一旦创建了该对象则设置了初始的创建日期可以按照如下方式使用这个ShoppingCart类
Dim Cart As New ShoppingCart()
该语句将创建一个新实例而且同时创建了该记录项的集合现在添加一些项
CartItem类显示了构造函数的另一个方面重载形式
Public Class CartItem
Private _productID As Integer
Private _productName As String
Private _productImageUrl As String
Private _quantity As Integer
Private _price As Double
Private _lineTotal As Double
Public Sub New()
End Sub
Public Sub New(ByVal ProductID As Integer ByVal ProductName As String ByVal ProductImageUrl As String ByVal Quantity As Integer ByVal Price As Double)
_productID = ProductID
_productName = ProductName
_productImageUrl = ProductImageUrl
_quantity = Quantity
_price = Price
_lineTotal = Quantity * Price
End Sub
End Class
这里有两个构造函数第一个不带参数没有执行任何操作第二个所接受的参数包含所要购买商品的详情不要对参数的特定语法考虑太多在学习方法时可以详细了解该内容这里需要注意的重点是该构造函数被重载也就是有两个构造函数只要签名不同就可以使用重载的构造函数(和方法)签名定义了构造函数或方法的惟一性这包括它的名称返回类型以及参数的类型和顺序由于这里的两个构造函数使用了不同的签名因此它们都是合法的
使用两个构造函数意味着可以使用两种方法创建类可以使用
Dim item As New CartItem()
或者使用
Dim item As New CartItem( Scarf image\scarfjpg )
第一个构造函数创建了一个空的购物车记录项准备让您填入详细资料而第二个构造函数创建的一个购物车记录项已经填写了详细资料这些详细资料作为圆括号中的参数传入它们与New方法中声明的参数对应
[] [] [] [] [] [] [] []