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
-
Dejo las dos soluciones del ejercicio CU01144E del curso de desarrollo web con JavaScript.
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...
<!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...
<!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>
-
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