考虑以下代表排序系统的类:
Public Class OrderBase
Public MustOverride Property OrderItem as OrderItemBase
End Class
Public Class OrderItemBase
End Class
现在,假设我们想将这些类扩展为一组更具体的订单类,同时保持 OrderBase 的聚合性质:
Public Class WebOrder
Inherits OrderBase
Public Overrides Property OrderItem as WebOrderItem
End Property
End Class
Public Class WebOrderItem
Inherits OrderItemBase
End Class
WebOrder 类中的 Overriden 属性将导致错误,指出返回类型与 OrderBase 中定义的不同……但是,返回类型是 OrderBase 中定义的类型的子类。为什么VB不允许这样做?