Sunday, March 18, 2018

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 */

No comments:

Post a Comment

உப்பு மாங்காய்

சுருக்குப்பை கிழவி. சுருக்கங்கள் சூழ் கிழவி. பார்க்கும் போதெல்லாம் கூடையுடனே குடியிருப்பாள். கூடை நிறைய குட்டி குட்டி மாங்காய்கள். வெட்டிக்க...