假设我有一个具有一个属性的对象车:模型
我将使用数据库填充对象,如下所示:
Public Class Car
Public Property Model() As String
Get
Return _Model
End Get
Set(ByVal value As String)
_Model = value
End Set
End Property
Private _Model As String
Private Sub SetObjectData(ByVal theObjReader As System.Data.SqlClient.SqlDataReader)
Try
Me._Model = theObjReader("Model").ToString()
Catch ex As Exception
Throw New Exception("Unable to Initialize Car.")
End Try
End Sub
Public Sub New(ByVal Car_ID As Integer)
Dim connection As New SqlConnection(DBTool.DataConnectionString)
Try
Dim cmd As SqlCommand
cmd = New SqlCommand("getCarByCar_ID", connection)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@Car_ID ", Car_ID)
connection.Open()
Dim objReader As SqlDataReader = cmd.ExecuteReader()
Do While objReader.Read()
SetObjectData(objReader)
Loop
objReader.Close()
connection.Close()
Catch ex As Exception
connection.Close()
End Try
End Sub
End Class
现在,让我们假设这个类被包装在一个 DLL 中。
我想做的是继承它,同时消耗我的财产。例如,假设我们想要一个具有新属性“Price”的新对象“Expensive_Car”。
如何利用之前的 Car 对象并以最“有条理”的方式初始化这个派生类,而无需编写两次代码?“价格”字段与“型号”字段保存在同一个 SQL 表中。当然我们需要从数据库中获取“价格”,就像我们拉模型一样。
我的目标是利用现有的类并使用新的派生类来扩展它们,而根本不改变父类。SQL 数据库结构可以根据需要使用其他字段进行更改。
谢谢!
缺口