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: cristiannd en 12 de Mayo 2020, 16:57

Título: JavaScript Prototype herencia propiedades y métodos Ejercicio resuelto CU01147E#
Publicado por: cristiannd en 12 de Mayo 2020, 16:57
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:


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>
Título: Re:JavaScript Prototype herencia propiedades y métodos Ejercicio resuelto CU01147E#
Publicado por: Ogramar en 02 de Octubre 2020, 14:29
Buenas, el ejercicio está bien resuelto, el código bien estructurado y la explicación muy clara. Buen código. Salu2