Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
24
Task/Polymorphic-copy/Java/polymorphic-copy.java
Normal file
24
Task/Polymorphic-copy/Java/polymorphic-copy.java
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
class T implements Cloneable {
|
||||
public String name() { return "T"; }
|
||||
public T copy() {
|
||||
try {
|
||||
return (T)super.clone();
|
||||
} catch (CloneNotSupportedException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class S extends T {
|
||||
public String name() { return "S"; }
|
||||
}
|
||||
|
||||
public class PolymorphicCopy {
|
||||
public static T copier(T x) { return x.copy(); }
|
||||
public static void main(String[] args) {
|
||||
T obj1 = new T();
|
||||
S obj2 = new S();
|
||||
System.out.println(copier(obj1).name()); // prints "T"
|
||||
System.out.println(copier(obj2).name()); // prints "S"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue