Autor Tema: JavaScript cómo se implementa la herencia con prototype código ejemplo CU01147E  (Leído 1910 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Entrego el código del Ejercicio CU01147E del tutorial gratuito de programación JavaScript de aprenderaprogramar.

EJERCICIO

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.

Código: [Seleccionar]
<!DOCTYPE html>

<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
<script type="text/javascript">
msg='';
/* =====================================================================
/* =========================   EJERCICIO  ==============================
/* ===================================================================== */

function Cometa(Diametro, Temperatura, Nombre)
{
this.Diametro = Diametro;
this.Temperatura = Temperatura;
this.Nombre = Nombre;
     
}

//Llenar los prototipos de cometa
Cometa.prototype ={
definicionSegunDiccionario: 'Los cometas son los cuerpos celestes constituidos por hielo,<br/>'+
'polvo y rocas que orbitan alrededor del Sol siguiendo diferentes <br/>'+
'trayectorias elípticas, parabólicas o hiperbólicas. Los cometas, junto<br/>'+
'con los asteroides, planetas y satélites, forman parte del sistema solar.<br/>'+
'La mayoría de estos cuerpos celestes describen órbitas elípticas de gran <br/>'+
'excentricidad, lo que produce su acercamiento al Sol con un período considerable.<br/>'+
' A diferencia de los asteroides, los cometas son cuerpos sólidos compuestos de<br/>'+
'materiales que se subliman en las cercanías del Sol.',

obtenerRadio:function(){
Radio=this.Diametro/2;
return Radio
},

obtenerTemperaturaFarenheit: function () { 
var GradFhar = this.Temperatura * 1.8 + 32;     
return GradFhar;
}
}

  function CrearObjetos()
{
//Creación de los objetos
var Cometas=new Array();
Cometas[0]=new Cometa(1500, 410, "Pedrusco");
Cometas[1]=new Cometa(2000, 625, "MenuoRipio");
Cometas[2]=new Cometa(15000, 515, "Estrellator");
//Llamar funcion de presentar datos en Pantalla
PresentarDatos(Cometas)
}

/* =====================================================================
/* ===================== FIN DEL EJERCICIO =============================
/* ===================================================================== */

function PresentarDatos(Cometas){
//Presentar datos en pantalla
msg=msg+"DEFINICION DE LOS COMETAS <BR/><BR/>"+Cometas[0].definicionSegunDiccionario+'<br/><br/>'
for(var i in Cometas)
{
msg=msg+'Nombre del Cometa'+i+' = '+Cometas[i].Nombre+'<br/>'+
'Diametro del Cometa'+i+' = '+Cometas[i].Diametro+' metros de diametro<br/>';
Cometas[i].Diametro=Cometas[i].obtenerRadio();
msg=msg+'Radio del Cometa'+i+' = '+Cometas[i].Diametro+' metros de radio <br/>'+
'Temperatura del Cometa'+i+'= '+Cometas[i].Temperatura+' Grados Celsius<br/>';
Cometas[i].Temperatura=Cometas[i].obtenerTemperaturaFarenheit();
msg=msg+'Temperatura del Cometa'+i+'= '+Cometas[i].Temperatura+' Grados Fahrenheit<br/><br/>';

}
document.all.pizarra.innerHTML=msg;
}
</script>

<style type="text/css">
body{background-color:green;}
  h1,h2,h3{
text-align:center;
margin:0;
padding:0;
color:white;
width:300;
height:200;
}

.boton {
border:outset white  2px; 
width:200px;
border-radius:25px 25px;
box-shadow:3px 3px 2px 2px #AFF6AF;
text-align:center;
    background-color:#90EE90;
color:black;
font-size:19px;
margin-top :2px;
margin-left:5px;
margin-bottom:5px;

}
.boton, #externa{margin-left:150px;}


.boton:hover {
border:inset 2px green;
box-shadow:3px 3px 2px 2px  #0BF50B ;
    }
#pizarra {

background-color:black;
border:groove red 8px;
border-radius:25px 25px;


color:white;
font-size:19px;
padding:15px;
overflow:hidden;
float:left;
margin-left:10px;
margin-top:10px;
}
#Pizarras{float:left;}
</style>
</head>

<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript<br/>Ejercicio CU01147E<br/>Los Cometas</h3>
</div>
<div id="Pizarras">
<div class="boton" onclick="CrearObjetos()">Comprobar</div>
<div id="pizarra"></div>
</body>

</html>


Hasta pronto.
 ;)
« Última modificación: 09 de Junio 2018, 19:51 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas paramonso, como ya hemos comentado en otros hilos por favor para poner título a los temas en los foros sigue las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

El código es una buena solución del ejercicio, bien estructurado

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