مقدمات سکالا: 3

scala
tutorial

#1

trait در سکالا نقشی شبیه interface در جاوا داره trait قرارداد که چند کلاس باهم مشترک دارند را به عنوان الگو بیان میکنه متود ها در trait میتونن بدنه نداشته باشن
و فقط الگو تعریف کنن در این صورت کلاس که trait به کار میبره باید بدنه الگو بنویسه
وقتی trait متودش بدنه داره به عنوان بدنه مشترک و default به کلاس داده میشه

trait Animal {
  def eat(food: String): Boolean
}

class Cat extends Animal {

  def eat(food: String): Boolean = {
    if (food == "fish") {
      true
    } else {
      false
    }
  }
}
 

یک کلاس میتونه از چند trait همزمان استفاده کنه

trait A
trait B
trait C
class D extends A with B with C

مقدمات سکالا
#2

عاااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااالی تشکر