Autor Tema: JasvaScript ejercicios resueltos Constructores herencia uso prototype CU01150E  (Leído 1888 veces)

juandeto

  • Sin experiencia
  • *
  • Mensajes: 10
    • Ver Perfil
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>




« Última modificación: 13 de Septiembre 2020, 19:39 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Re:JasvaScript ejercicios resueltos Constructores herencia uso prototype CU01150E
« Respuesta #1 en: 13 de Septiembre 2020, 19:39 »
Buenas, para quien revise estos códigos, los ejercicios están bien resueltos. 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".