Foros del Web » Programando para Internet » Javascript »

Problemas para acceder a las propiedades de un objeto

Estas en el tema de Problemas para acceder a las propiedades de un objeto en el foro de Javascript en Foros del Web. Hola soy nuevo en esto de los objetos en javascript, mas bien soy un iniciado en javascript, y queriendo aprender mas sobre javascript orientado a ...
  #1 (permalink)  
Antiguo 11/02/2008, 12:04
 
Fecha de Ingreso: marzo-2007
Mensajes: 19
Antigüedad: 18 años
Puntos: 0
Problemas para acceder a las propiedades de un objeto

Hola soy nuevo en esto de los objetos en javascript, mas bien soy un iniciado en javascript, y queriendo aprender mas sobre javascript orientado a objetos he estado buscando por ahi me he encontrado con esta pagina: "http://www.programacion.net/html/dinamico/tutorial/script/jscript16.htm#3" donde me hablan del tema (propiedades metodos y HERENCIA) el problema es: NO PUEDO ACCEDER A UN OBJEtO DESDE EL OBJETO PADRE (no se si tecnicamente me he expresado bien) ***miLibro.base.titulo***

<html>
<head>
<title>Creando Objetos</title>
</head>

<body>
<SCRIPT>
function Libro(titulo, autor, tema) {
this.titulo = titulo;
this.autor = autor;
this.tema = tema;
}


miLibro = new Libro("JavaScript Bible", "Danny Goodman", "JavaScript");

alert(miLibro.titulo) // EN ESTE CASO NO HAY NINGUN PROBLEMA MEDA "JavaScript Bible"

// Herencia

function LibroConCD (titulo, autor, tema, ejemplos, aplicaciones) {
this.base = Libro
this.base(titulo, autor, tema);
this.tieneEjemplos = ejemplos;
this.tieneAplicaciones = aplicaciones;
}

miLibro = new LibroConCD("JavaScript Bible", "Danny Goodman", "JavaScript", true, true);
alert(miLibro.base.titulo) // EN ESTE CASO TAMBIEN ME TENDRIA QUE DEVOLVER "JavaScript Bible" Y ME DA UN UNDEFINED
alert(miLibro.ejemplos); // ME DEVUELVE UN UNDEFINED QUERIENDO ACCEDER AL MISMO QUE EN ESTE CASO QUERIA QEU ME DIERA "true"


</SCRIPT>

</body>
</html>

Insisto soy nuevo en esto, tal vez sera cambiar una tonteria de nada pero yo no se que hay que cambiar o modificar.
Saludos a todos y GRACIAS
  #2 (permalink)  
Antiguo 11/02/2008, 12:49
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 17 años, 2 meses
Puntos: 57
Re: Problemas para acceder a las propiedades de un objeto

En la funcion LibroConCD trata cambiandola asi:

Código:
function LibroConCD (titulo, autor, tema, ejemplos, aplicaciones) {
  this.base = new Libro(titulo, autor, tema);
  this.tieneEjemplos = ejemplos;
  this.tieneAplicaciones = aplicaciones;
}
y en el segundo alert:

alert(miLibro.ejemplos); // ME DEVUELVE UN UNDEFINED QUERIENDO ACCEDER AL MISMO QUE EN ESTE CASO QUERIA QEU ME DIERA "true"

tienes que utilizar

Código:
alert(miLibro.tieneEjemplos);
  #3 (permalink)  
Antiguo 11/02/2008, 13:57
 
Fecha de Ingreso: marzo-2007
Mensajes: 19
Antigüedad: 18 años
Puntos: 0
Re: Problemas para acceder a las propiedades de un objeto

Muchas GRACIAS posman
Ahora me funciona de maravilla, y lo de alert(miLibro.ejemplos); fue un despiste de principiante pero esto this.base = new Libro(titulo, autor, tema); si que no tenia ni idea.
Lo que no entiendo como en la pagina mencionada arriba (http://www.programacion.net/html/dinamico/tutorial/script/jscript16.htm#3) declaran de esta forma el objeto this.base = Libro
this.base(titulo, autor, tema);
, seguramente les hace falta algo, ó sera a mi?

GRACIAS muchas, muchas, muchas GRACIAS4

Saludos
  #4 (permalink)  
Antiguo 12/02/2008, 14:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 19
Antigüedad: 18 años
Puntos: 0
Re: Problemas para acceder a las propiedades de un objeto

Hola, soy un poco insistente, pero sigo sin poder acceder desde la funcion librosConCD a las propiedadedes del objeto Libro
<html>
<head>
<title>Creando Objetos</title>
</head>

<body>
<SCRIPT>
function Libro(titulo, autor, tema) {
this.titulo = titulo;
this.autor = autor;
this.tema = tema;
}


miLibro1 = new Libro("JavaScript Bible1", "Danny Goodman1", "JavaScript1");
miLibro2 = new Libro("JavaScript Bible2", "Danny Goodman2", "JavaScript2")



function LibroConCD (titulo, autor, tema, ejemplos, aplicaciones) {
this.base = new Libro (titulo, autor, tema);
this.tieneEjemplos = ejemplos;
this.tieneAplicaciones = aplicaciones;
}

miLibroConCD1 = new LibroConCD("JavaScript Bible3", "Danny Goodman3", "JavaScript3", true, true);
miLibroConCD2 = new LibroConCD("JavaScript Bible4", "Danny Goodman4", "JavaScript4", true, false);

alert(miLibro1.base.titulo); // no me devuelve nada y si pruebo alert(miLibroConCD1.base.titulo), me da "JavaScript Bible3"
// lo que yo quiero es acceder desde la funcion LibroConCD a la funcion Libro
// para que alert(miLibroConCD1.base.titulo) me de "JavaScript Bible1" que es lo que tengo que hacer
alert(miLibroConCD1.tieneEjemplos) // esto me devuelve true, que en este caso no hay problema

</SCRIPT>

</body>
</html>
Saludos y GRACIAS
  #5 (permalink)  
Antiguo 12/02/2008, 14:47
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 17 años, 2 meses
Puntos: 57
Re: Problemas para acceder a las propiedades de un objeto

miLibro1 lo estas creando con new Libro y la funcion Libro solamente tiene 3 propiedades: titulo, autor y tema.

Nunca te va a regresar nada si utilizas miLibro1.base (esa propiedad no existe)

En cambio, miLibroConCD1 lo estas creando con new LibroConCD y esa funcion tiene las propiedades: base, tieneEjemplos y tieneAplicaciones

Te aseguro que si utilizaras
miLibro = new LibroConCD("JavaScript Bible1", "Danny Goodman1", "JavaScript1", true, true);
asi si te regresaria JavaScript Bible1
  #6 (permalink)  
Antiguo 12/02/2008, 14:56
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 17 años, 2 meses
Puntos: 57
Re: Problemas para acceder a las propiedades de un objeto

Cita:
Iniciado por _jesic@ Ver Mensaje
// lo que yo quiero es acceder desde la funcion LibroConCD a la funcion Libro
// para que alert(miLibroConCD1.base.titulo) me de "JavaScript Bible1" que es lo que tengo que hacer
alert(miLibroConCD1.tieneEjemplos) // esto me devuelve true, que en este caso no hay problema

</SCRIPT>

</body>
</html>
Saludos y GRACIAS
pero a miLibroConCD1 le estas dando el titulo JavaScript Bible3, como quieres que te regrese JavaScript Bible1 ?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.