groovy面向对象

Groovy 完全兼容 Java 类,且提供增强:
1. 类的简化
    自动生成 getter/setter:成员变量无需手动写访问方法。
    简化构造器:支持命名参数构造器(无需定义)。
    @ToString/@EqualsAndHashCode 注解:自动生成 toString/equals 方法。
    @groovy.transform.ToString // 自动生成toString
    class Person {
        String name // 自动生成getName()/setName()
        int age
    }

    // 命名参数构造器(Groovy 独有)
    def p = new Person(name: "Tom", age: 20)
    println p.name // 调用getName()
    println p // 自动toString:Person(Tom, 20)

2. 运算符重载
    Groovy 允许重载运算符(如 +、<<、==),通过定义特定方法实现:
    class Point {
        int x, y
        // 重载 + 运算符
        Point plus(Point other) {
            new Point(x: this.x + other.x, y: this.y + other.y)
        }
    }

    def p1 = new Point(x:1, y:2)
    def p2 = new Point(x:3, y:4)
    def p3 = p1 + p2 // 等价于 p1.plus(p2)
    println p3.x // 4,p3.y=6

posted on 2025-12-15 22:14  枫飘过的天1  阅读(0)  评论(0)    收藏  举报