类和对象
类和对象
在Groovy中,类是一种自定义的数据类型,可以封装数据和方法。对象是类的一个实例,可以使用类中定义的方法和属性。
以下是一个Groovy中定义类和对象的示例:
class Person {
String name
int age
void sayHello() {
println("Hello, my name is ${name}, and I am ${age} years old.")
}
}
def person = new Person(name: "Alice", age: 25)
person.sayHello()
上面的示例中,我们定义了一个名为Person
的类,它有两个属性name
和age
,以及一个方法sayHello
,用于打印个人信息。然后我们使用new
关键字创建了一个Person
类的实例,并将其存储在变量person
中。最后,我们调用person
对象的sayHello
方法,打印出个人信息。
Groovy中的类支持继承和多态等面向对象编程的特性。以下是一个Groovy中继承和多态的示例:
class Animal {
void makeSound() {
println("The animal makes a sound.")
}
}
class Dog extends Animal {
void makeSound() {
println("The dog barks.")
}
}
class Cat extends Animal {
void makeSound() {
println("The cat meows.")
}
}
def animal1 = new Animal()
def animal2 = new Dog()
def animal3 = new Cat()
animal1.makeSound() // 输出 "The animal makes a sound."
animal2.makeSound() // 输出 "The dog barks."
animal3.makeSound() // 输出 "The cat meows."
上面的示例中,我们定义了一个Animal
类和两个子类Dog
和Cat
。Animal
类有一个makeSound
方法,Dog
和Cat
类分别重写了makeSound
方法,使其返回不同的字符串。然后我们创建了三个不同的对象,一个Animal
对象,一个Dog
对象和一个Cat
对象,分别调用makeSound
方法,输出不同的字符串。
在Groovy中,还支持访问器和修改器方法(getter和setter方法)、静态方法和属性、抽象类和接口等面向对象编程的概念。