Groovy - Traits 特征

Traits 特征是语言的结构构造,它允许 −

  • 行为构成。
  • 接口的运行时实现。
  • 与静态类型检查/编译的兼容性

它们可以被视为同时承载默认实现和状态的接口。 使用 trait 关键字定义特征。

下面给出了一个特征的例子 −

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

然后可以使用 implement 关键字以与接口类似的方式实现特征。

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

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

class Student implements Marks { 
   int StudentID
   int Marks1;
}

实现接口

Traits 可以实现接口,在这种情况下,接口使用 implements 关键字声明。

下面给出了实现接口的 trait 示例。 在以下示例中,可以注意以下关键点。

  • 接口 Total 使用 DisplayTotal 方法定义。

  • trait Marks 实现了 Total 接口,因此需要提供 DisplayTotal 方法的实现。

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