fork download
  1. trait Similarity {
  2. def isSimilar(x: Any): Boolean
  3. def isNotSimilar(x: Any): Boolean = !isSimilar(x)
  4. }
  5.  
  6. class Point(xc: Int, yc: Int) extends Similarity {
  7. var x: Int = xc
  8. var y: Int = yc
  9. def isSimilar(obj: Any) =
  10. obj.isInstanceOf[Point] &&
  11. obj.asInstanceOf[Point].x == x
  12. }
  13.  
  14. object TraitsTest extends Application {
  15. val p1 = new Point(2, 3)
  16. val p2 = new Point(2, 4)
  17. val p3 = new Point(3, 3)
  18. println(p1.isNotSimilar(p2))
  19. println(p1.isNotSimilar(p3))
  20. println(p1.isNotSimilar(2))
  21. }
  22.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty