У меня есть абстрактный класс Person и две черты Employee и Student
abstract class Person(val name: String) {
val tax: Double
}
trait Employee {
val salary: Double;
lazy val tax: Double = salary * 0.1;
}
trait Student {
val tax: Double = 0.0;
}
И мне нужно создать 2 экземпляра, используя эти две черты
studentEmployee = new Person("John") with Student with Employee {override var salary: Double = 1000};
employeeStudent = new Person("Mike") with Employee with Student {override var salary: Double = 1000};
Я получаю ошибку:
... наследует конфликтующие члены: ленивый налог на стоимость с признаком Сотрудник типа Double и сальдо стоимости с признаком Ученик типа Double ...
Как использовать две черты с поля с одинаковыми именами?