Я пытаюсь создать собственный метод toString () для некоторых моих классов данных. Но я бы хотел определить переопределение fun toString только один раз.
Это был бы мой суперкласс:
abstract class Id(val value: String) {
override fun toString(): String {
return value
}
}
Теперь я хочу использовать настроенный метод toString () в некоторых моих классах данных, расширяя идентификатор суперкласса:
data class MyId(val v: String): Id(v)
однако, это введет вторичное поле и геттер для «v» в MyId, а это не то, что я хочу. Использование «значения» вместо «v» вызывает у меня проблему: «значение» скрывает член супертипа «Id». Я хотел бы повторно использовать поле «значение» и получатель, определенные в Id. Я не хочу вводить новый.
Как я могу это исправить?