Перейти к основному содержимому

5.12. ООП

Разработчику Архитектору

ООП

Groovy полностью объектно-ориентирован, всё является объектом.

Классы и объекты:

class Person {
String name
int age

void sayHello() {
println "Hello, my name is $name"
}
}

def p = new Person(name: "Alice", age: 30)
p.sayHello()

Наследование:

class Student extends Person {
String school
}

Инкапсуляция:

По умолчанию все поля имеют геттеры и сеттеры (автоматически создаются).

Полиморфизм:

Поддерживается через переопределение методов.

Замыкания (Closures):

Замыкания — это анонимные блоки кода, которые могут быть переданы как параметры.

def greet = { name -> println "Hello, $name" }
greet("Groovy")