Autor Tema: JavaScript Constructores con herencia en cadena prototype crear objetos CU01150E  (Leído 2729 veces)

bermartinv

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 298
    • Ver Perfil
Adjunto primer ejercicio CU01150E del tutorial JavaScript:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
function Persona(nombre,nacionalidad){
    this.nombre = nombre || 'desconocido';
    this.nacionalidad = nacionalidad || 'desconocido';
}   
Persona.prototype.mostrarNacionalidad = function (){
    alert ('La nacionalidad de '+this.nombre+' es '+this.nacionalidad);
}

function Medico(nombre,nacionalidad,centro){
    Persona.call(this,nombre,nacionalidad);     
     this.centro = centro || 'desconocido';     
}

function Medicoespecialista(especialidad,centro,nombre,nacionalidad){
    Medico.call(this,nombre,nacionalidad,centro);     
     this.especialidad = especialidad || 'desconocida';
}
Medico.prototype = new Persona();
Medicoespecialista.prototype=new Medico();

   
function crearObjeto(){
    var especialista1 = new Medicoespecialista('traumatologo','Valencia','Paco','Español');
   
    especialista1.mostrarNacionalidad();
    var msg = 'La informacion del medico especialista es:\n';
    msg = msg + 'Su nombre es '+especialista1.nombre+' con nacionalidad '+especialista1.nacionalidad;
    msg = msg + ', su centro de trabajo es en '+especialista1.centro;
    msg = msg +'y su especialidad es la de '+especialista1.especialidad;
    alert(msg);
}

    </script>
</head>
<body>
   <button onclick="crearObjeto()">Medico</button>
   
</body>
</html>


Y el segundo ejercicio:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script>
   
function persona(nombre){
    this.nombre = nombre || 'desconocido';
    this.saludar = function(mastexto){
        alert ('Te saluda ' +this.nombre+ ' que trabaja en '+this.institucionAcademica+mastexto);
    }
}
persona.prototype.definicion = 'Una persona es un ser vivo que tiene conocimiento';
   
function profesor(institucionAcademica,nombre){
    persona.call(this,nombre);
    this.institucionAcademica = institucionAcademica || 'desconocida';
}
   
function profesorInterino(mesesContrato,institucionAcademica,nombre){
    profesor.call(this,institucionAcademica,nombre);
    this.mesesContrato = mesesContrato || 0;
}

function profesorTitular(anyosTrabajados,institucionAcademica,nombre){
    profesor.call(this,institucionAcademica,nombre);
    this.anyosTrabajados = anyosTrabajados || 0;
}

profesor.prototype = new persona();
profesorInterino.prototype = new profesor();
profesorTitular.prototype = new profesor();


function crearObjeto(){
    profesorTitular1 = new profesorTitular(8,'Universidad de Leon','Juan');
    alert(profesorTitular1.definicion);
    profesorTitular1.saludar(' y lleva '+profesorTitular1.anyosTrabajados+' anyos trabajados');
}

    </script>
</head>
<body>
   <button onclick="crearObjeto()">Profesor Titular</button>
   
</body>
</html>
« Última modificación: 17 de Febrero 2016, 10:46 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Buenos días he revisado tus ejercicios y considero están bien planteados y bien resueltos. Enhorabuena por el trabajo.

Saludos.

 

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