我知道在接口和基类中有很多贴子,但我很难得到正确的设计模式理解。了解接口和基类的使用
如果我要编写一个报告类,我的初始阶段应该是创建一个包含所有报告将实现的核心属性,方法等的接口。
例如:
Public Interface IReportSales
Property Sales() As List(Of Sales)
Property ItemTotalSales() As Decimal
End Interface
Public Interface IReportProducts
Property Productss() As List(Of Inventory)
Property ProductsTotal() As Decimal
End Interface
那么,我想我会一个类来实现的接口:
Public Class MyReport
Implements IReportSales
Public Property Sales() As System.Collections.Generic.List(Of Decimal) Implements IReportItem.Sales
Get
Return Sales
End Get
Set(ByVal value As System.Collections.Generic.List(Of Decimal))
Items = value
End Set
End Property
Public Function ItemTotalSales() As Decimal Implements IReport.ItemTotalSales
Dim total As Decimal = 0.0
For Each item In Me.Sales
total = total + item
Next
End Function
End Class
我的想法是,它应该是一个接口,因为其他报告不得使用“项目“,这样我可以实现用于给定报表类的对象。
我会离开吗?我还应该创建一个基类吗?我没有创建基类的逻辑是,并非所有的报告类都可以使用“Items”,所以我不想将它们定义在不被使用的地方。
你能解释在这里实现接口的原因吗?你不觉得,这是给内存不必要的。我可以做到没有界面。对? – Pankaj 2012-04-19 18:17:36
你的问题对我有点困惑。你担心实施更多不使用“项目”的报告?尽管如此,你已经在界面中定义了它。就目前而言,任何想要实现'IReport'的类都必须提供'Items()'属性和'ItemTotalSales()'函数。 – Thomas 2012-04-19 18:17:37
仅仅因为你实现了一个包含Items的接口并不意味着你需要使用它。 – Xaisoft 2012-04-19 18:24:39