Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/05/2013, 09:50
Avatar de Albuss
Albuss
 
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 9 meses
Puntos: 30
Respuesta: ¿Modelador de Objetos?

Aijoona, Estoy emocionado, cada vez que me respondes veo cosas nuevas, y no, no es ninguna broma.


En realidad, llevo como 3 años peleándome con JS, y teniendo en cuenta que vine de un lenguaje que no es tan simple como C++, cualquiera diría que con JS uno se acostumbra a lo bueno y simple demasiado rápido.

Nada de información gratuita!, digo esto, por que después de estos años, después de seguir infinidad de manuales, trozos de código libre, experiencia propia, me sorprende que en internet, que es mi medio de aprendizaje, sea raramente habitual que encuentre nuevos planteamientos como los de Aijoona.


Y reitero, que al menos, yo , antes de venir a molestar al personal siempre busco por mi cuenta la solución.


Es decir, que la mayoria de contenido que encontraremos en internet, es repetitivo y solo de vez en cuando, nos topamos con contenido inedito, como es el caso.


bien, vamos al caso :

Cito a Aijoona:

Código Javascript:
Ver original
  1. this['instance' + i] = new AmazingObject;

Aquí veo algo asombroso, que en estos tres años, no vi en ningún medio, this+Cadena

y eso que yo habia intentado algo parecido como por ejemplo :

Código Javascript:
Ver original
  1. this.'instance'+i = new AmazingObject;

Por cierto, tienes razón en cuanto a mi error con las variables para el bucle, supongo que se solventaría inicializandolas así : (var x = 100, var i=0;i<z;i++);

Pero tengo una pregunta en cuanto al medio de crear un nombre para el objeto, bien, olvidémonos de los objetos, vamos a inicializar una variable con un nombre que se pueda guardar en una cadena.

Siguiendo tu ejemplo :

Código Javascript:
Ver original
  1. var i = 0;
  2.  
  3. var cadena = '';
  4.  
  5. for(var j=0;j<100;j++){  
  6.    var ['variable'+i] = 1;
  7.    cadena.concat(['variable'+i]);
  8.    i++;
  9. }


Factible? , aunque sinceramente, mi planteamiento para modelar objetos llega mediante un planteamiento erróneo de un problema que me surgió a raíz de mi nuevo proyecto de JS en POO , vamos a juntar mis últimos tres Post de JS en POO y planteare ese problema :

Crearemos un Prototipo Persona :

Código Javascript:
Ver original
  1. function Persona(name, age, money){
  2.  
  3. this.Name = name;
  4. this.Age = age;
  5. this.Money = money;
  6.  
  7. }

Ahora extenderemos este prototipo a otro prototipo, Profesor, del que tambien heredará los argumentos del constructor..

Código Javascript:
Ver original
  1. Profesor.prototype = new Persona();
  2.  
  3. function Profesor(asignatura){
  4.  
  5. Persona.call(this ,name, age, money);
  6. Profesor.call(this adignatura);
  7.  
  8. this.Asignatura = Asignatura;
  9.  
  10.  
  11. }
  12.  
  13. var Titos = new Profesor('titos', 30, 1000, matematicas);


Hasta aquí todo lo aprendido, vamos a dar otro paso adelante, PROBLEMA :


Necesito tener un método de otro objeto creando nuevos profesores de forma regular. pero ...,

¿por que dale un nombre único a cada objeto profesor? no seria mejor crear un puntero a ese objeto?.


El problema es el siguiente, tengo otras funciones, digamos que tengo una función que modifica la edad o el dinero del profesor, y esa función necesita saber que profesor se le va a modificar esa propiedad, es decir, de forma automática, una función recibe por argumentos, el nombre o el puntero de un objeto profesor especifico para modificare alguna de sus propiedades.

¿que me sugerís?

Última edición por Albuss; 22/05/2013 a las 10:02