Debería esta clase implementar una interfaz?
Publicado por Andrea (43 intervenciones) el 23/10/2018 18:09:09
He documentado la clase lo mejor que he podido, para que entendais el objetivo de esta.
Tengo pensado extender esta clase y darle soporte para arrays, con lo que en la cabeza de la clase quedaría algo como
las 4 variables se iniciarán en null mediante this(), por si se usan los getters/setters que no tocan, que no salga un NullPointerException.
Lo que tengo en duda es si debería implementar una interfaz... Sé para que sirven, pero no termino de darme cuenta cuando és adecuado usarlas y cuando són innecesarias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.util.Objects;
/**
* This class can encapsulate two Objects of any type inside.
* We can see it like a java.awt.Point, but without operations for
* a XY point, or a java.util.HashMap, but more simple because you
* don't need to know a key to get a value. */
public class Dual <T1, T2>{
private T1 a;
private T2 b;
/**
* Creates a Dual with null values for a and b. */
public Dual() {
a = null;
b = null;
}
/**
* Calls to Dual() and creates a Dual with the objects specified
* on the parameters. */
public Dual(T1 objectA, T2 objectB) {
this();
a = objectA;
b = objectB;
}
public void setA(T1 objectA) {
a = objectA;
}
public void setB(T2 objectB) {
b = objectB;
}
public T1 getA() {
return a;
}
public T2 getB() {
return b;
}
@Override
public boolean equals(Object o) {
boolean equals;
if(!(o instanceof Dual)) {
equals = false;
} else {
Dual tocompare = (Dual)o;
equals = Objects.equals(a, tocompare.getA())
&& Objects.equals(b, tocompare.getB());
}
return equals;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append('[');
sb.append("a: ");
sb.append(a.toString());
sb.append(" b: ");
sb.append(b.toString());
sb.append(']');
return sb.toString();
}
}
Tengo pensado extender esta clase y darle soporte para arrays, con lo que en la cabeza de la clase quedaría algo como
1
2
3
4
private T1 a;
private T2 b;
private T1[] aArray;
private T2[] bArray;
las 4 variables se iniciarán en null mediante this(), por si se usan los getters/setters que no tocan, que no salga un NullPointerException.
Lo que tengo en duda es si debería implementar una interfaz... Sé para que sirven, pero no termino de darme cuenta cuando és adecuado usarlas y cuando són innecesarias.
Valora esta pregunta


-1