Groovy: различия между версиями
Содержимое удалено Содержимое добавлено
Moriline (обсуждение | вклад) |
Moriline (обсуждение | вклад) |
||
Строка 992:
</source>
==
<source lang="groovy">
class Human {
int age
String name
String format(){
name+"@"+age
}
}
interface IHuman {
String fullInfo()
}
//Композиция в одном варианте
class Man implements IHuman {
Human comp
@Override
String fullInfo() {
return comp.format()
}
}
trait HumanTrait implements IHuman{
String name
int age
def String formatValues(){
name+"!!!"+age
}
}
//Композиция через Trait во втором варианте
class Woman implements HumanTrait {
@Override
String fullInfo() {
return formatValues()
}
}
def adam = new Man(comp: new Human(age: 32, name: 'adam'))
println(adam.fullInfo())
def eva = new Woman(name: 'Eva', age: 18)
println(eva.fullInfo())
</source>
== Non-matching Groups ==
== Replacement ==
|