Код IT
← Каталог

Объектно-ориентированное программирование в Groovy — Трейты (Traits)

Фрагмент из «Объектно-ориентированное программирование в Groovy»: Трейты (Traits).

Groovy main.groovy
trait Flyable {
    void fly() {
        println "Flying high!"
    }
}

trait Swimmable {
    void swim() {
        println "Swimming fast!"
    }
}

class Duck implements Flyable, Swimmable {}

def duck = new Duck()
duck.fly()  // Flying high!
duck.swim() // Swimming fast!
trait Flyable {
    void fly() {
        println "Flying high!"
    }
}

trait Swimmable {
    void swim() {
        println "Swimming fast!"
    }
}

class Duck implements Flyable, Swimmable {}

def duck = new Duck()
duck.fly()  // Flying high!
duck.swim() // Swimming fast!