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: Salvadoruve2 en 25 de Julio 2016, 16:28

Título: Ejemplo herencia Prototype JavaScript crear objetos Ejercicio resuelto CU01147E
Publicado por: Salvadoruve2 en 25 de Julio 2016, 16:28
Hola aquí dejo mi solución para el ejercicio propuesto en este apartado CU01147E del tutorial básico de programación web con JavaScript desde cero.

Me encantaría escuchar vuestras sugerencias. Gracias

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>empty heart</title>
<meta charset="utf-8">
<style type="text/css">
body {text-align: center; margin: 0 auto;}
div {padding:15px; width: auto; display: inline-block; margin: 25px; margin-top: 300px; cursor: pointer; color: white; border-radius: 40px; background: rgb(202, 60, 60);}
div:hover, div:hover {background: rgb(66, 184, 221);}
</style>
<script type="text/javascript">
function cometas(diametro, temperatura, nombre) {
this.diametro = diametro; this.temperatura = temperatura; this.nombre = nombre;
}

cometas.prototype = {
definicionDiccionario: 'Cuerpo celeste del sistema solar de pequeñas dimensiones que, cuando se acerca al Sol, deja tras de sí una cola luminosa de miles de kilómetros.',

obtenerRadio: function (variacion) {
this.radio = this.diametro/variacion;
},

obtenerTemperaturaF: function () {
this.nuevaTemperatura = ((this.temperatura*(9/5))+32);
},
}

function start() {
var cometa1 = new cometas(15000,77, 'Halley');
var cometa2 = new cometas(20000, 60, 'Hale-Bopp');
var cometa3 = new cometas(13500, 65, 'Wild 2');

alert('La definición de cometa según el diccionario es: ' + cometa1.definicionDiccionario);

cometa1.obtenerRadio(2);
alert('El valor del radio del cometa ' + cometa1.nombre + ' es de: ' + cometa1.radio + ' metros.');

cometa2.obtenerTemperaturaF();
alert('El valor de la temperatura en ºF del cometa ' + cometa2.nombre + ' es de: ' + cometa2.nuevaTemperatura + ' ºF');

}
  </script>
</head>
<body>
<div onclick="start()">Something about Cometas</div>
</body>
</html>
Título: Re:Ejemplo herencia Prototype JavaScript crear objetos Ejercicio resuelto CU01147E
Publicado por: César Krall en 02 de Agosto 2016, 17:58
Hola! Lo veo todo bien, con una cosa que me ha llamado la atención. El radio es la mitad del diámetro, es decir, el diámetro dividido por dos.

En la función obtenerRadio de los objetos de tipo cometa pones este código

Código: [Seleccionar]
obtenerRadio: function (variacion) {
this.radio = this.diametro/variacion;
}

No entiendo bien por qué introduces un parámetro denominado variacion, ya que luego cuando invocas el método haces cometa1.obtenerRadio(2); es decir lo que haces es dividir por dos, lo mismo que si directamente hubieras escrito

Código: [Seleccionar]
obtenerRadio: function () {
this.radio = this.diametro/2;
}

que al fin y al cabo es lo mismo pero más simple, no sé si lo hiciste previendo algo especial.

Saludos!
Título: Re:Ejemplo herencia Prototype JavaScript crear objetos Ejercicio resuelto CU01147E
Publicado por: Salvadoruve2 en 02 de Agosto 2016, 18:01
Hola muchas gracias.. es verdad.. a veces lo mas simple se nos escapa