行为匹配

tgr*_*tgr 1 scala behavior matching

不久前,我发现了一个有趣的博客文章,其中有人展示了如何确保对象具有特定的行为.现在我想这样做,但我找不到博客.任何人都可以告诉我语法吗?

Chr*_*ian 9

你的意思是结构类型?这是一个例子:

class Duck {
  def quack = "quack"
}

class OtherDuck {
  def quack = "mooh"
}

object Test {
  def testQuack (d: {def quack: String}) = d.quack
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

Test.testQuack(new Duck)
Test.testQuack(new OtherDuck)
Run Code Online (Sandbox Code Playgroud)

  • +1基于超模糊的问题提出正确的答案. (3认同)
  • 正确的名称是"结构类型",实际上不是鸭子打字. (2认同)