Учитывая любую Карту, я хотел бы иметь возможность получить следующую и предыдущую Карты, если они существуют. Идея с функциями next() и prev() состоит в том, что они возвращают следующие или предыдущие Копии соответственно. Порядок костюмов быть: Сердца, Лопаты, бубны, трефы Для получения дополнительных разъяснений, я должен сделать эту // случай класс карты (п: Int, с: костюм)Scala abstract case class
// 1. определить абстрактный случай класс костюм
// 2. определить абстрактные примеры классов RedSuit и BlackSuit
// 3. определить конкретные тематические классы сердца, пики, бубны, трефы
// 5. определять абстрактные методы следующего() : Костюм и prev(): Костюм на костюмный костюм
// 6. Внедрение следующего(): Сюита и prev(): Костюм на каждом из классов «Сердца, бриллианты, лопаты и клубы»
// 7. Внедрение следующей(): Карты и prev() : карта на класс карты
Но в первую очередь я не могу реализовать следующий() на сердец класса
case class Card(n: Int, s: Suit)
abstract case class Suit{
type cardsuit <: Suit
def next(): cardsuit
def prev(): cardsuit
}
abstract case class RedSuit extends Suit{
type red <: RedSuit
}
abstract case class BlackSuit extends Suit{
type black <: BlackSuit
}
case class Hearts extends RedSuit{
type red = Hearts
def next()= // I wanna have Spades hier
def prev()= // I wanna have Clubs hier
}
У вас никогда не должно быть абстрактных классов случаев. –
Можете ли вы объяснить, почему наследование классов классов так плохо? – tuxSlayer