Cita: La verdad, entiendo que me veas como si fuera mal programador ..
No he dicho eso, he dicho que java y PHP son distintos, y que tenías que cambiar el modo de pensar.
Cita: dis.piso.num;
//siendo piso un atributo añadido al Map
dis.Load("piso", new piso("AQUI LOS ATRIBUTOS QUE SEAN..."));
Si usas un Map, lo de dis.piso.num no lo puedes hacer, porque la forma de recuperar objetos de un Map es mediante el método get(key) de los Map.
Sobre utilizar atributos dinámicos o no, es cuestión de opiniones y de la situación, hace algún tiempo leí un libro donde recomendaban usarlos en ciertos casos.
http://www.forosdelweb.com/f45/atrib...s-maps-783831/