1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / JavaScript Prototype herencia propiedades y métodos Ejercicio resuelto CU01147E#
« en: 12 de Mayo 2020, 16:57 »
Solución propuesta para el tutorial de programación web con JavaScript y editor Notepad++ ejercicio CU01147E.
Paso a explicar mi solución:
Espero que se entienda el razonamiento...
Citar
Define un tipo de objeto Cometa cuyas propiedades de instancia (específicas de cada objeto) sean diametro, temperatura y nombre. La temperatura será un valor numérico que suponemos está en grados centígrados. Como propiedad común a todos los objetos de tipo cometa define definicionSegunDiccionario (que debe contener la definición de cometa según el diccionario) y como métodos comunes obtenerRadio (que debe devolver el radio) y obtenerTemperaturaFarenheit (que debe devolver el valor de temperatura expresado en grados Farenheit). Crea tres objetos de tipo cometa y comprueba que puedes acceder tanto a las propiedades específicas como a las propiedades comunes y métodos comunes desde cada objeto.
Paso a explicar mi solución:
- En primer lugar hice un constructor con las propiedades de nombre, diametro y temperatura con los valores obtenidos a través de los parametros.
- Luego creé una propiedad (definicionSegunDiccionario) y dos métodos (obtenerRadio y obtenerTemperaturaFarenheit) comunes a todos los objetos Cometa.
- Por último una función ejemeploCometa donde tiene un array con los cometas creados y una serie de alert que irán apareciendo con el cometa respectivo al valor "i" pasado en la función ejemploCometa según el boton que apretemos.
Espero que se entienda el razonamiento...
Código: [Seleccionar]
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Ejercicio CU01147E</title>
<script>
function Cometa(nombre, diametro, temperatura){
this.nombre = nombre;
this.diametro = diametro;
this.temperaturaCelsius = temperatura;
}
Cometa.prototype = {
definicionSegunDiccionario: 'Cuerpo celeste del sistema solar de pequeñas dimensiones que, cuando se acerca al Sol, deja tras de sí una cola luminosa de miles de kilómetros.',
obtenerRadio: function(){
var radio = (this.diametro/2);
return radio;
},
obtenerTemperaturaFarenheit: function(){
var temperturaFarenheit = (this.temperaturaCelsius * 1.8) + 32;
return temperturaFarenheit;
}
};
function ejemploCometa(i){
var cometa = [];
cometa[0] = new Cometa('Halley', 1000, 50);
cometa[1] = new Cometa('Swan', 550, 100);
cometa[2] = new Cometa('Atlas', 330, 155);
alert('La definición de cometa es: ' + cometa[i].definicionSegunDiccionario);
alert('El cometa ' + cometa[i].nombre + ', tiene un diametro de ' + cometa[i].diametro + ' metros y una temperatura de ' + cometa[i].temperaturaCelsius + '°C.');
alert('El radio es de ' + cometa[i].obtenerRadio() + ' y la temperatura en Farenheit es de ' + cometa[i].obtenerTemperaturaFarenheit());
};
</script>
</head>
<body>
<input type="button" value="Cometa Halley" onclick="ejemploCometa(0)">
<input type="button" value="Cometa Swan" onclick="ejemploCometa(1)">
<input type="button" value="Cometa Atlas" onclick="ejemploCometa(2)">
</body>
</html>