我正在进行工资计划。第一个基础类是奖励,该类应包含2个公共属性salesid和sales。 在类中包含一个默认构造函数和一个参数化构造函数。还包括一个getbonus方法(函数),它使用公式销售计算销售人员奖金* 0.05 创建派生类名为Premiumbonus派生类getbonus mothod计算奖金如下sales0 .05 +(sales-2500)).01还包含此派生类中的默认和参数化构造函数。 如果销售超过2500使用这个工资单程序没有显示正确的金额结果
我觉得我的数学是关闭有人可以请仔细检查它吗?我需要一些建议,并且我试图调试并且getbonus好像一直保持0,不管我输入了多少个数字,但是我在计算框中得到了结果。下面 是代码
显式的选项在 选项严格在 选项推断关
' base class
Public Class Bonus
Public Property SalesId As String
Public Property Sales As Double
Public Sub New()
_Sales = 0
_SalesId = String.Empty
End Sub
Public Sub New(ByVal dblB As Double,
ByVal strId As String)
_Sales = dblB
_SalesId = strId
End Sub
Public Overridable Function GetBonus() As Double
' returns sales
Return _Sales * 0.05
End Function
End Class
' derived class
Public Class PremiumBonus
Inherits Bonus
Public Sub New()
MyBase.New()
End Sub
Public Sub New(ByVal dblB As Double,
ByVal strId As String)
MyBase.New(dblB, strId)
End Sub
Public Overrides Function GetBonus() As Double
Return MyBase.GetBonus + (Sales - 2500) * 0.01
End Function
End Class
Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
' calculates and displays a bonus
Dim myBonus As New Bonus
Dim myPremiumBonus As New PremiumBonus
Dim Sales As Double
' if the sales are over $2500, instantiate a PremiumBonus object
' and then calculate the bonus
' otherwise, instantiate a Bonus object and then calculate the bonus
If Sales > 2500 Then
Double.TryParse(txtSales.Text, myBonus.Sales)
Sales = myBonus.GetBonus
Else
Double.TryParse(txtSales.Text, myPremiumBonus.Sales)
Sales = myPremiumBonus.GetBonus
End If
工艺的一个具体问题,如*当我进入X,结果是Y,但它应该为Z *我们不是代码检查器,我们不提供建议。这是关于*答案* *问题*。参见[问] – Plutonix