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: juandeto en 07 de Abril 2020, 19:55

Título: JasvaScript ejercicios resueltos Constructores herencia uso prototype CU01150E
Publicado por: juandeto en 07 de Abril 2020, 19:55
Les traigo mi solucion a los ejercicios de la leccion CU01150E del certificado formativo JavaScript de aprenderaprogramar.

Consignas:

Citar

EJERCICIO 1

Crea un esquema de herencia que cumpla con estos requisitos:

a) Un Médico especialista tiene una especialidad y es un tipo de Médico.

b) Un Médico trabaja en un centro de trabajo y es un tipo de Persona.

c) Una Persona tiene un nombre y una nacionalidad. Como método común a todas las personas tenemos mostrarNacionalidad, que muestra un mensaje informando de la nacionalidad.

Se desea crear un objeto de tipo MedicoEspecialista pasándole como parámetros para su creación además de sus propiedades intrínsecas las propiedades que hereda de sus supertipos y sobre este objeto invocar el método mostrarNacionalidad(), que deberá ser reconocido por herencia.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

 

EJERCICIO 2

Crea un código que represente el siguiente esquema de herencia permitiendo instanciar los subtipos pasándole los parámetros necesarios para inicializar las propiedades de los supertipos. Crea un objeto ProfesorTitular profesorTitular1 al que le pases como parámetros 8 (años trabajados), Universidad de León (institución académica), Juan (nombre),  e invoca el método saludar sobre este objeto.


SOLUCIÓN EJERCICIO1:

Código: [Seleccionar]

<!DOCTYPE html>

<html>

<head>
    <title>Ejemplo aprenderaprogramar.com</title>
    <meta charset="utf-8">

    <script type="text/javascript">

        function persona(nombre, nacionalidad) { this.nombre = nombre || 'Desconocido'; this.nacionalidad = nacionalidad || 'Desconocida' };
        persona.prototype.mostrarNacionalidad = function () { var msg = 'La nacionalidad es: ' + this.nacionalidad; alert(msg); };

        function medico(centroDeTrabajo, nombre, nacionalidad) {
            persona.call(this, nombre, nacionalidad);
            this.centroDeTrabajo = centroDeTrabajo || 'Desconocido'
        };
        medico.prototype = new persona();

        function medicoEspecialista(especialidad, centroDeTrabajo, nombre, nacionalidad) {
            medico.call(this, centroDeTrabajo, nombre, nacionalidad);
            this.especialidad = especialidad || 'Desconocida'
        };
        medicoEspecialista.prototype = new medico();

        function ejemploHerencia() {
            var especialista1 = new medicoEspecialista('traumatologo', 'San Lucas', 'Ernesto', 'Uruguayo');
            var msg = 'El especialista1 tiene especialidad ' + especialista1.especialidad + ' y trabaja en ' + especialista1.centroDeTrabajo;
            msg = msg + '\n\n su nombre es ' + especialista1.nombre;
            alert(msg);
            especialista1.mostrarNacionalidad();
        }
    </script>
</head>

<body>
    <div id="cabecera">
        <h2>Cursos aprenderaprogramar.com</h2>
        <h3>Ejemplos JavaScript</h3>
    </div>

    <div style="color:blue;" id="pulsador" onclick="ejemploHerencia()"> Ejemplo Herencia </div>

</body>

</html>



SOLUCIÓN EJERCICIO 2:

Código: [Seleccionar]

<!DOCTYPE html>

<html>

<head>
    <title>Ejemplo aprenderaprogramar.com</title>
    <meta charset="utf-8">

    <script type="text/javascript">

        persona.prototype.definicion = 'Individuo de la especie humana.';
        function persona(nombre) {
            this.nombre = nombre;
            this.saludar = function () { alert('Hola ' + this.nombre+'!!'); };
        }
        profesor.prototype = new persona();

        function profesor(institucion, nombre) {
            persona.call(this, nombre);
            this.institucionAcademica = institucion;
        }

        profesorInterino.prototype = new profesor();
        function profesorInterino(meses, institucion, nombre) {
            profesor.call(this, institucion, nombre);
            this.mesesContrato = meses;
        }

        profesorTitular.prototype = new profesor();
        function profesorTitular(meses, institucion, nombre) {
            profesor.call(this, institucion, nombre);
            this.mesesContrato = meses;
        }

        function SaludarProfesor() {
            profesor1 = new profesorTitular(3, 'UBA', 'Conrado Lynch');

            msg = 'El profesor titular se llama ' + profesor1.nombre + ' y trabaja en la institucion ' + profesor1.institucionAcademica;
            msg = msg + '\n\n Su contrato es de ' + profesor1.mesesContrato + ' meses.';
            alert(msg);
            profesor1.saludar();

        }

    </script>
</head>

<body>
    <div id="cabecera">
        <h2>Cursos aprenderaprogramar.com</h2>
        <h3>Ejemplos JavaScript</h3>
    </div>

    <div style="color:blue;" id="pulsador" onclick="SaludarProfesor()"> Ejemplo Herencia </div>

</body>

</html>




Título: Re:JasvaScript ejercicios resueltos Constructores herencia uso prototype CU01150E
Publicado por: Ogramar en 13 de Septiembre 2020, 19:39
Buenas, para quien revise estos códigos, los ejercicios están bien resueltos. Salu2