接口
接口
在Groovy中,接口是一种抽象的数据类型,用于定义一组方法的签名,而不提供方法的实现。接口定义了一组规范,用于描述一个类或对象应该具有的行为。类可以实现一个或多个接口,并提供接口中定义的方法的具体实现。
以下是一个Groovy中定义接口和实现接口的示例:
interface Shape {
double getArea()
double getPerimeter()
}
class Circle implements Shape {
double radius
Circle(double radius) {
this.radius = radius
}
double getArea() {
Math.PI * radius * radius
}
double getPerimeter() {
2 * Math.PI * radius
}
}
def circle = new Circle(5)
println("Area: ${circle.getArea()}") // 输出 "Area: 78.53981633974483"
println("Perimeter: ${circle.getPerimeter()}") // 输出 "Perimeter: 31.41592653589793"
上面的示例中,我们定义了一个Shape
接口,它有两个方法getArea
和getPerimeter
。然后我们定义了一个Circle
类,实现了Shape
接口。Circle
类有一个属性radius
,以及实现了Shape
接口中定义的两个方法。然后我们创建了一个Circle
对象,调用getArea
和getPerimeter
方法,输出圆的面积和周长。
在Groovy中,还支持接口的继承,一个接口可以继承一个或多个接口,并可以在接口中定义常量。Groovy中的接口与Java中的接口类似,但Groovy允许在接口中提供默认实现,这使得编写实现接口的类时更加方便。