gpt4 book ai didi

scala - 将参数传递给特征

转载 作者:行者123 更新时间:2023-12-04 02:40:31 24 4
gpt4 key购买 nike

我想模拟国际象棋游戏。
为此,我想创建一个抽象类,Piece它将玩家和位置作为参数。从那以后,我想扩展到其他类,例如 Pawn :

trait Piece(player: Int, pos: Pos) = {

def spaces(destination: Pos): List[Pos]

}

case class Pawn extends Piece = {
//some other code
}

但是,我认为我不允许将参数传递给特征,例如 trait Piece(player: Int, pos: Pos) .

那么我怎样才能拥有一个抽象类 Piece有字段吗?

最佳答案

您可以使用抽象类

abstract class Piece(player: Int, pos: Pos) {
...
}

case class Pawn(player: Int, pos: Pos) extends Piece(player, pos)

或者(可能更好)您在特征中抽象地定义这些成员
trait Piece {
def player: Int
def pos: Pos
...
}

case class Pawn(player: Int, pos: Pos) extends Piece

关于scala - 将参数传递给特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38993974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com