行为匹配

时间:2012-05-24 09:44:54

标签: scala behavior matching

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

1 个答案:

答案 0 :(得分:9)

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

class Duck {
  def quack = "quack"
}

class OtherDuck {
  def quack = "mooh"
}

object Test {
  def testQuack (d: {def quack: String}) = d.quack
}

然后你可以这样做:

Test.testQuack(new Duck)
Test.testQuack(new OtherDuck)