Autor Tema: static Javascript. Propiedades y métodos estáticos. Ejercicio Resuelto CU01148E  (Leído 1521 veces)

Salvadoruve2

  • Principiante
  • **
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
Hola aquí dejo mi solucion para el ejercicio propuesto en la entrega CU01148E del tutorial básico de desarrollo web con JavaScript.

Me gustaría saber si voy en la dirección correcdta o no con las propiedades estáticas.

Muchas 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 Meteoritos(diametro, temperatura, nombre) {
this.diametro = diametro; this.temperatura = temperatura; this.nombre = nombre;
}

Meteoritos.definicionDiccionario = 'Un meteorito es un meteoroide que alcanza la superficie de un planeta debido a que no se desintegra por completo en la atmósfera. La luminosidad dejada al desintegrarse se denomina meteoro.';

Meteoritos.obtenerRadio = function () {alert('El valor del radio del meteorito Armagedon es de: 350 metros' );}

Meteoritos.obtenerTemperaturaF = function () {alert('El valor de la temperatura en ºF del meteorito Armagedon es de: ' + (50*(9/5)+32) + ' grados.')};

function start() {
var meteorito1 = new Meteoritos(700,50, 'Armagedon');

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

Meteoritos.obtenerRadio();

Meteoritos.obtenerTemperaturaF();

}
  </script>
</head>
<body>
<div onclick="start()">Dame tu fuerza pegaso</div>
</body>
</html>
« última modificación: 05 de Agosto 2016, 00:38 de César Krall »
Dt. Crane psychiatrist

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2228
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

Sí vas en la buena dirección. Lo que veo mal definido es

Meteoritos.obtenerRadio = function () {alert('El valor del radio del meteorito Armagedon es de: 350 metros' );}

Esta función debería devolverte el radio de cada meteorito calculado a partir de su diámetro, no un mensaje igual para todos los objetos de tipo Meteorito

Fíjate en cómo se resuelve en http://www.aprenderaprogramar.com/foros/index.php?topic=3365.0

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Salvadoruve2

  • Principiante
  • **
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
Hola César gracias por responder.

Aqui la solución creo correcta.

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 Meteoritos(diametro, temperatura, nombre) {
this.diametro = diametro; this.temperatura = temperatura; this.nombre = nombre;
}

Meteoritos.definicionDiccionario = 'Un meteorito es un meteoroide que alcanza la superficie de un planeta debido a que no se desintegra por completo en la atmósfera. La luminosidad dejada al desintegrarse se denomina meteoro.';

Meteoritos.obtenerRadio = function (diametro) {return diametro/2;}

Meteoritos.obtenerTemperaturaF = function (grados) {return (grados*(9/5)+32);}

function start() {
var meteorito1 = new Meteoritos(700,50, 'Armagedon');

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


alert('El valor del radio del meteorito ' + meteorito1.nombre + ' es: ' + Meteoritos.obtenerRadio(meteorito1.diametro));


alert('El valor de la temperatura en ºF del meteorito Armagedon es de: ' + Meteoritos.obtenerTemperaturaF(meteorito1.temperatura) + ' grados.')

}
  </script>
</head>
<body>
<div onclick="start()">Dame tu fuerza pegaso</div>
</body>
</html>
Dt. Crane psychiatrist

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1937
    • Ver Perfil
Buenas tardes Salvador, veo el ejercicio bien resuelto. Tan solo indicarte que para darle coherencia a los nombres en lugar de function Meteoritos sería preferible function Meteorito, de ese modo usaríamos new Meteorito en lugar de new Meteoritos, para reflejar que creamos un objeto de tipo Meteorito (que es como se expresa normalmente en programación). Saludos.

 

Esto es un laboratorio de ideas...
Aprender a programar

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".