Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 11 de Noviembre 2015, 14:56

Título: Herencia en JavaScript Crear objetos y usar prototype para generalizar CU01147E
Publicado por: bermartinv en 11 de Noviembre 2015, 14:56
Hola, ya resolví el ejercicio CU01147E

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
   <button onclick="mostrar()">Cometas</button>
   
<script>   
// Definicion del objeto
function cometaDef(diametro,temperatura,nombre){
    this.diametro=diametro;
    this.temperatura=temperatura;
    this.nombre=nombre;
   
    }
   
//Definicion Metodo Clase del objeto
function construyendoProto(){
    this.definicionSegunDiccionario="Un cometa es muy chulo";
    this.obtenerRadio=function(){
        return(this.diametro)/2;       
    }
    this.obtenerTemperaturaFarenheit=function(){
        return (1.8*this.temperatura)+32;       
    }
}
   
cometaDef.prototype=new construyendoProto();

function mostrar(){
    var cometa=new Array();   
    cometa[0]=new cometaDef(13,12,"arena de mal");
    cometa[1]=new cometaDef(120,12,"bonito");
    cometa[2]=new cometaDef(123,12,"rueda amarilla");
    var msg='';
for(i in cometa){
msg = 'Definicion de cometa ' + cometa[i].definicionSegunDiccionario + '\n';
msg = msg + 'El cometa ' + cometa[i].nombre + ' tiene de diametro ' + cometa[i].diametro + ' y su radio es de  '+cometa[i].obtenerRadio()+ "\n";
                    msg = msg + 'Además tiene una temperatura de ' +cometa[i].obtenerTemperaturaFarenheit()+ ' de grados Farenheit, y una temperatura en grados centigrados de '+cometa[i].temperatura;
                    alert(msg);
}
}   
</script>   
</body>
</html>


Pero a raiz de este ejercicio me han surgido nuevas dudas que no he podido resolver.

Estoy intentando el usuario puede dar los valores de los satelites, he creado varios botones para cada cometa, asi cuando apreta el boton de cometa 1, había pensado en este código

Código: [Seleccionar]
function cometa1(){
    var diametro=prompt("Cual va a ser su diametro:");
    var temperatura=prompt("Que temperatura tiene:");
    var nombre=prompt("Que nombre le vas a poner:");
    var cometa[0]=new cometaDef(diametro,temperatura,nombre);
}

No consigo meter los datos. Necesito una ayudita.
Título: Re:Herencia en JavaScript Crear objetos y usar prototype para generalizar CU01147E
Publicado por: Ogramar en 13 de Noviembre 2015, 08:19
Hola el ejercicio está bien resuelto  ;D

Sobre la duda en esta entrega se explica prompt: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=862:window-javascript-metodos-efectos-confirm-prompt-open-moveby-moveto-focus-resize-close-cu01174e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206

prompt te devuelve un String si quieres convertirlo a numérico tienes que hacer una conversión de tipo de datos con Number, no sé si es a eso a lo que te referías conque no consigues meter los datos ¿?

Salu2
Título: Re:Herencia en JavaScript Crear objetos y usar prototype para generalizar CU01147E
Publicado por: bermartinv en 16 de Noviembre 2015, 11:43
Efectivamente Ogramar, aplicando Number(variable) he podido hacerlo. ;D
Muchas gracias.