Me gustaría crear una clase base que amplíe todas las clases de mi programa. Una cosa que quería hacer era encontrar una forma uniforme de almacenar todas las variables de instancia dentro del objeto.¿Usa un HashMap para almacenar variables de instancia?
Lo que he encontrado es utilizar un HashMap para almacenar los pares clave/valor para el objeto y luego exponer esos valores a través de un método de obtención y configuración.
El código que tengo para esto hasta ahora es la siguiente:
package ocaff;
import java.util.HashMap;
public class OcaffObject {
private HashMap<String, Object> data;
public OcaffObject() {
this.data = new HashMap<String, Object>();
}
public Object get(String value) {
return this.data.get(value);
}
public void set(String key, Object value) {
this.data.put(key, value);
}
}
Si bien funcionalmente esto funciona, tengo curiosidad si hay ningún problema real con esta implementación o si hay una forma mejor de hacer ¿esta?
En mi día a día soy programador de PHP y mi objetivo era imitar la funcionalidad que utilicé en PHP en Java.
Seguro, puedes hacer esto. – Coffee
Usted * podría * hacer eso, pero ¿por qué? Si desea pasar un mapa hash, simplemente pase alrededor de un mapa hash. Sin embargo, pierdes los beneficios si pierdes mucho de lo que OOP es si simplemente arrojas todo en un mapa. –