15 lines
348 B
Groovy
15 lines
348 B
Groovy
class T implements Cloneable {
|
|
String property
|
|
String name() { 'T' }
|
|
T copy() {
|
|
try { super.clone() }
|
|
catch(CloneNotSupportedException e) { null }
|
|
}
|
|
@Override
|
|
boolean equals(that) { this.name() == that?.name() && this.property == that?.property }
|
|
}
|
|
|
|
class S extends T {
|
|
@Override String name() { 'S' }
|
|
}
|