Autor Tema: Ejemplo herencia Prototype JavaScript crear objetos Ejercicio resuelto CU01147E  (Leído 2663 veces)

Salvadoruve2

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
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>
« Última modificación: 02 de Agosto 2016, 17:48 por César Krall »
Dt. Crane psychiatrist

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
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!
Responsable de departamento de producción aprenderaprogramar.com

Salvadoruve2

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
Hola muchas gracias.. es verdad.. a veces lo mas simple se nos escapa
Dt. Crane psychiatrist

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".