Я работаю над изучением Scala - из опыта C ++. я стараюсь
написать небольшой класс для приложения отслеживания задач, я взломать вместе
помогите мне научиться кодировать Scala.
Кажется, это должно быть просто, но по какой-то причине он ускользает от меня:
package com.catenacci.tts
class Task(val ID:Int, val Description:String) {
val EmptyID = 0
val EmptyDescription = "No Description"
def this() = this(EmptyID,EmptyDescription)
def this(ID:Int)={
this(ID,EmptyDescription)
}
def this(Description:String)={
this(EmptyID,Description)
}
}
Я пытаюсь предоставить три конструктора: Task (ID, Description),
Задача (ID), Задача (Описание). В последних 2 случаях я хочу
инициализировать значения постоянными значениями, если одно из значений не
предоставленный абонентом. И я хочу иметь возможность проверить это снаружи
класса для целей модульного тестирования. Так что я решил положить в два
public vals позволил бы мне проверить извне класса, чтобы сделать
уверен, что мое состояние соответствует ожиданиям.
Однако по какой-то причине этот код не будет компилироваться. Я получаю следующую ошибку:
error: not found: value EmptyID
и
error: not found: value EmptyDescription
Так чего мне не хватает? Я работаю через "Программирование в Scala" так
если есть простой ответ на этот вопрос, пожалуйста, дайте мне страницу
номера. Я не против читать, но, следуя коду на странице 60 и
страница 62, я не могу понять, почему этот код не работает.
Полагаю, это как-то связано с тем, что это
методы конструктора и что, возможно, два значения не инициализируются
до конца конструкторы. Если это так, есть ли некоторые
способ получить эффект, который я ищу?