Autor Tema: JavaScript Prototype herencia propiedades y métodos Ejercicio resuelto CU01147E#  (Leído 1420 veces)

cristiannd

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Solución propuesta para el tutorial de programación web con JavaScript y editor Notepad++ ejercicio CU01147E.

Citar
Define un tipo de objeto Cometa cuyas propiedades de instancia (específicas de cada objeto) sean diametro, temperatura y nombre. La temperatura será un valor numérico que suponemos está en grados centígrados. Como propiedad común a todos los objetos de tipo cometa define definicionSegunDiccionario (que debe contener la definición de cometa según el diccionario) y como métodos comunes obtenerRadio (que debe devolver el radio) y obtenerTemperaturaFarenheit (que debe devolver el valor de temperatura expresado en grados Farenheit).  Crea tres objetos de tipo cometa y comprueba que puedes acceder tanto a las propiedades específicas como a las propiedades comunes y métodos comunes desde cada objeto.


Paso a explicar mi solución:

  • En primer lugar hice un constructor con las propiedades de nombre, diametro y temperatura con los valores obtenidos a través de los parametros.
  • Luego creé una propiedad (definicionSegunDiccionario) y dos métodos (obtenerRadio y obtenerTemperaturaFarenheit) comunes a todos los objetos Cometa.
  • Por último una función ejemeploCometa donde tiene un array con los cometas creados y una serie de alert que irán apareciendo con el cometa respectivo al valor "i" pasado en la función ejemploCometa según el boton que apretemos.

Espero que se entienda el razonamiento...


Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8">
        <title>Ejercicio CU01147E</title>
        <script>
            function Cometa(nombre, diametro, temperatura){
                this.nombre = nombre;
                this.diametro = diametro;
                this.temperaturaCelsius = temperatura;
            }

            Cometa.prototype = {
                definicionSegunDiccionario: '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(){
                    var radio = (this.diametro/2);
                    return radio;
                },
                obtenerTemperaturaFarenheit: function(){
                    var temperturaFarenheit = (this.temperaturaCelsius * 1.8) + 32;
                    return temperturaFarenheit;
                }
            };

            function ejemploCometa(i){
                var cometa = [];
                cometa[0] = new Cometa('Halley', 1000, 50);
                cometa[1] = new Cometa('Swan', 550, 100);
                cometa[2] = new Cometa('Atlas', 330, 155);

                alert('La definición de cometa es: ' + cometa[i].definicionSegunDiccionario);
                alert('El cometa ' + cometa[i].nombre + ', tiene un diametro de ' + cometa[i].diametro + ' metros y una temperatura de ' + cometa[i].temperaturaCelsius + '°C.');
                alert('El radio es de ' + cometa[i].obtenerRadio() + ' y la temperatura en Farenheit es de ' + cometa[i].obtenerTemperaturaFarenheit());
            };
        </script>
    </head>
    <body>
        <input type="button" value="Cometa Halley" onclick="ejemploCometa(0)">
        <input type="button" value="Cometa Swan" onclick="ejemploCometa(1)">
        <input type="button" value="Cometa Atlas" onclick="ejemploCometa(2)">
    </body>
</html>
« Última modificación: 02 de Octubre 2020, 14:28 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Buenas, el ejercicio está bien resuelto, el código bien estructurado y la explicación muy clara. Buen código. Salu2

 

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