Groovy Traits - Interfaces


Runtime implementation of interfaces


class Example {
   static void main(String[] args) {
      Student st = new Student();
      st.StudentID = 1;
      println(st.DisplayMarks());
   }
}

trait Marks {
   void DisplayMarks() {
      println("Marks1");
   }
}

trait Total extends Marks {
   void DisplayMarks() {
      println("Total");
   }


class Student implements Total {
   int StudentID
}

//Total



trait FlyingAbility { /* declaration of a trait */
String fly() { "I'm flying!" } /* declaration of a method inside a trait */
}


class Bird implements FlyingAbility {} /* Adds the trait FlyingAbility to the Bird class capabilities */
def bird = new Bird() /* instantiate a new Bird */
assert bird.fly() == "I'm flying!" /* the Bird class automatically gets the behavior of the FlyingAbility trait */

Comments

Popular posts from this blog

தட்டு வண்டியில் காளிக்கோயில் - சிறுகதை

பிரேமாவின் பெண் குழந்தை

தீபம் பிளக்ஸ்