Employee

class Employee(var name: String, val yearOfBirth: Int, var monthlySalary: Double)

The class Employee represents employees (in an imaginary accounting app). Each employee has a number of attributes such as name and monthly salary. Most of these attributes are mutable.

Value parameters:
monthlySalary

the monthly salary of the employee, in euros and excluding any incidental costs

name

the name of the employee

yearOfBirth

the year the employee was born

class Object
trait Matchable
class Any

Value members

Concrete methods

def ageInYear(year: Int): Int

Returns the number of years the employee turns during the given year.

Returns the number of years the employee turns during the given year.

Returns a description that contains some basic employee information.

Returns a description that contains some basic employee information.

def monthlyCost(multiplier: Double): Double

Returns the monthly cost of the employee to the employer. This figure equals the product of the employee’s monthly salary (e.g., 4000), their working time (e.g., 0.6), and a multiplier for incidental costs (e.g., 1.3).

Returns the monthly cost of the employee to the employer. This figure equals the product of the employee’s monthly salary (e.g., 4000), their working time (e.g., 0.6), and a multiplier for incidental costs (e.g., 1.3).

Value parameters:
multiplier

a multiplier used by the employer to estimate the additional costs of employing a person, apart from their salary

def raiseSalary(multiplier: Double): Unit

Modifies the employee’s salary by multiplying it with the given factor. A parameter value of 1.2 will produce a 20% raise, for instance.

Modifies the employee’s salary by multiplying it with the given factor. A parameter value of 1.2 will produce a 20% raise, for instance.

Concrete fields

working time relative to a full week. E.g., 1.0 means a full-time employee and 0.5 a half-timer.

working time relative to a full week. E.g., 1.0 means a full-time employee and 0.5 a half-timer.