changeset 44 | a751aa1ee4f7 |
43:10e7a90d8e7a | 44:a751aa1ee4f7 |
---|---|
1 package Main |
|
2 |
|
3 object CompoundClasses { |
|
4 trait Cloneable extends java.lang.Cloneable { |
|
5 override def clone(): Cloneable = { super.clone(); this } |
|
6 } |
|
7 |
|
8 trait Resetable { |
|
9 def reset: Unit |
|
10 } |
|
11 |
|
12 def cloneAndReset(obj: Cloneable with Resetable): Cloneable = { |
|
13 val cloned = obj.clone() |
|
14 obj.reset |
|
15 cloned |
|
16 } |
|
17 } |
|
18 |