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 10 de Mayo 2020, 15:31

Título: JavaScript Objetos con métodos internos y externos invocar con botón CU01144E
Publicado por: cristiannd en 10 de Mayo 2020, 15:31
Dejo las dos soluciones del ejercicio CU01144E del curso de desarrollo web con JavaScript.

Citar
Define un tipo de objeto Medico en JavaScript que tenga como propiedades: nombre (String), personasCuradas (número entero), especialidad (String) y como métodos un método denominado curarPersona y otro método denominado mostrarDatos. El método curarPersona deberá añadir una unidad al valor de la propiedad personasCuradas y el método mostrarDatos deberá mostrar los datos el médico. Por ejemplo, “El médico se llama Juan Eslava, su especialidad es traumatología y lleva curadas 8 personas”. Crea dos objetos del tipo definido, e invoca sus métodos para comprobar que funcionan correctamente.

Crea las dos alternativas de código: métodos con funciones internas anónimas o métodos con referencia a funciones externas.


Método con funciones internas...

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Ejercicio CU01144E</title>
    <script>
        /* Método con funciones internas */
        function Medico(nombre, personasCuradas, especialidad){
            this.nombre = nombre;
            this.personasCuradas = personasCuradas;
            this.especialidad = especialidad;

            this.curarPersonas = function(){
                this.personasCuradas = this.personasCuradas + 1;
alert('Persona curada');
            };

            this.mostrarDatos = function(){
                var msg;
                msg = 'El médico se llama '+this.nombre+', su especialidad es '+this.especialidad+' y lleva curadas '+this.personasCuradas+' personas';
                alert(msg);
            };
        }
        var medico1 = new Medico ('Juan Eslava', 0, 'traumatología')
    </script>
</head>
<body>
    <h1>Médico</h1>
    <h2>Juan Eslava</h2>
    <input type="button" value="Mostrar datos" onclick="medico1.mostrarDatos()">
    <input type="button" value="Curar persona" onclick="medico1.curarPersonas()">
</body>
</html>


Método con funciones externas...

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Ejercicio CU01144E</title>
    <script>
        /* Método con funciones externas */
        function Medico(nombre, personasCuradas, especialidad){
            this.nombre = nombre;
            this.personasCuradas = personasCuradas;
            this.especialidad = especialidad;
            this.curarPersonas = curarPersonas;
            this.mostrarDatos = mostrarDatos;
        }

        function mostrarDatos(){
            var msg;
                msg = 'El médico se llama '+this.nombre+', su especialidad es '+this.especialidad+' y lleva curadas '+this.personasCuradas+' personas';
                alert(msg);
        }

        function curarPersonas(){
                this.personasCuradas = this.personasCuradas + 1;
alert('Persona curada');
            };

        var medico1 = new Medico ('Juan Eslava', 0, 'traumatología')
    </script>
</head>
<body>
    <h1>Médico</h1>
    <h2>Juan Eslava</h2>
    <input type="button" value="Mostrar datos" onclick="medico1.mostrarDatos()">
    <input type="button" value="Curar persona" onclick="medico1.curarPersonas()">
</body>
</html>
Título: Re:JavaScript Objetos con métodos internos y externos invocar con botón CU01144E
Publicado por: Ogramar en 01 de Octubre 2020, 19:45
Buenas, para quien revise este ejercicio está bien resuelto. No crea dos objetos como pedía el enunciado, sino solo uno, pero a cambio al presentar los botones para poder invocar los métodos, resulta una solución interesante para el ejercicio. Salu2