📄 hourlyemployee.java
字号:
/**
Class Invariant: All objects have a name string, hire date, nonnegative
wage rate, and nonnegative number of hours worked. A name string of
"No name" indicates no real name specified yet. A hire date of Jan 1, 1000
indicates no real hire date specified yet.
*/
public class HourlyEmployee extends Employee
{
private double wageRate;
private double hours; //for the month
public HourlyEmployee( )
{
super( );
wageRate = 0;
hours = 0;
}
/**
Precondition: Neither theName nor theDate is null;
theWageRate and theHours are nonnegative.
*/
public HourlyEmployee(String theName, Date theDate,
double theWageRate, double theHours)
{
super(theName, theDate);
if ((theWageRate >= 0) && (theHours >= 0))
{
wageRate = theWageRate;
hours = theHours;
}
else
{
System.out.println(
"Fatal Error: creating an illegal hourly employee.");
System.exit(0);
}
}
public HourlyEmployee(HourlyEmployee originalObject)
{
super(originalObject);
wageRate = originalObject.wageRate;
hours = originalObject.hours;
}
public double getRate( )
{
return wageRate;
}
public double getHours( )
{
return hours;
}
/**
Returns the pay for the month.
*/
public double getPay( )
{
return wageRate*hours;
}
/**
Precondition: hoursWorked is nonnegative.
*/
public void setHours(double hoursWorked)
{
if (hoursWorked >= 0)
hours = hoursWorked;
else
{
System.out.println("Fatal Error: Negative hours worked.");
System.exit(0);
}
}
/**
Precondition: newWageRate is nonnegative.
*/
public void setRate(double newWageRate)
{
if (newWageRate >= 0)
wageRate = newWageRate;
else
{
System.out.println("Fatal Error: Negative wage rate.");
System.exit(0);
}
}
public String toString( )
{
return (getName( ) + " " + getHireDate( ).toString( )
+ "\n$" + wageRate + " per hour for " + hours + " hours");
}
public boolean equals(HourlyEmployee other)
{
return (getName( ).equals(other.getName( ))
&& getHireDate( ).equals(other.getHireDate( ))
&& wageRate == other.wageRate
&& hours == other.hours);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -