Autor Tema: JavaScript cómo definir propiedades y métodos estáticos o de clase CU01148E  (Leído 1823 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo el Ejercicio del tema CU01148E JavaScript propiedades y métodos estáticos, del tutorial pdf de programación web de aprenderaprogramar.

EJERCICIO

Define un tipo de objeto Meteorito 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 estática del tipo meteorito define definicionSegunDiccionario (que debe contener la definición de meteorito) y como métodos estáticos obtenerRadio (que debe devolver el radio a partir de un parámetro diametro) y obtenerTemperaturaFarenheit (que debe devolver el valor de temperatura expresado en grados Farenheit a partir de un parámetro temperatura).  Crea un objeto de tipo Meteorito con un diámetro, temperatura y nombre y comprueba que puedes acceder a las propiedades y métodos estáticos mostrando por pantalla la definición de meteorito, la superficie del objeto creado y la temperatura Farenheit del objeto creado.

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

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

/* =====================================================================
/* =========================   EJERCICIO  ==============================
/* ===================================================================== */

function Meteorito(Diametro, Temperatura, Nombre)
{
this.Diametro = Diametro;
this.Temperatura = Temperatura;
this.Nombre = Nombre;
     
}
//Propiedad estatica
Meteorito.definicionSegunDiccionario=
'El término meteoro proviene del griego meteoron, que significa «fenómeno en el cielo». Se emplea para describir el destello<br/>'+
'luminoso que acompaña la caída de materia del sistema solar sobre la atmósfera terrestre. <br/>'+
'Dicho destello se produce por la incandescencia temporal que sufre el meteoroide a causa de la presión de choque (el aire<br/>'+
'atmosférico se comprime al chocar con el cuerpo y, al aumentar la presión, aumenta la temperatura, que se transfiere al meteoroide),<br/>'+
'no de la fricción.Esto ocurre generalmente a alturas entre 80 y 110 kilómetros sobre la superficie de la Tierra. <br/>'+
'Un meteoroide es un cuerpo menor del sistema solar de, aproximadamente, entre 100 µm hasta 50 m (de diámetro máximo).<br/>'+
'El límite superior de tamaño, 50 m, se emplea para diferenciarlo de los cometas y de los asteroides, mientras que el<br/>'+
'límite inferior de tamaño, 100 µm, se emplea para diferenciarlo del polvo cósmico; no obstante, los límites de tamaño<br/>'+
'no suelen usarse muy estrictamente siendo ambigua la designación de los objetos que se encuentren cercanos a estos límites.<br/><br/>'+
'Definicion extraida de  Wikipedia';
//Metodos estaticos
Meteorito.obtenerRadio=function(Diametro){
Radio=Diametro/2;
return Radio
};

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


  function CrearObjetos()
{
//Creación de los objetos
var Meteoritos=new Array();
Meteoritos[0]=new Meteorito(50, 100, "Luso");
Meteoritos[1]=new Meteorito(20, 85, "Galileo");
Meteoritos[2]=new Meteorito(15.5, -15, "Reventon");
//Llamar funcion de presentar datos en Pantalla
PresentarDatos(Meteoritos)
}

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

function PresentarDatos(Meteoritos){
var msg="",i=0;
//Presentar datos en pantalla
msg=msg+"DEFINICION DE LOS METEORITOS <BR/><BR/>"+Meteorito.definicionSegunDiccionario+'<br/><br/>'
for(var i in Meteoritos)
{
msg=msg+'Nombre del Meteorito'+i+' = '+Meteoritos[i].Nombre+'<br/>'+
'Diametro del Meteorito'+i+' = '+Meteoritos[i].Diametro+' metros de diametro<br/>';
Meteoritos[i].Diametro=Meteorito.obtenerRadio(Meteoritos[i].Diametro);
msg=msg+'Radio del Meteorito'+i+' = '+Meteoritos[i].Diametro+' metros de radio <br/>'+
'Temperatura del Meteorito'+i+'= '+Meteoritos[i].Temperatura+' Grados Celsius<br/>';
Meteoritos[i].Temperatura=Meteorito.obtenerTemperaturaFarenheit(Meteoritos[i].Temperatura);
msg=msg+'Temperatura del Meteorito'+i+'= '+Meteoritos[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 CU01148E<br/>Los Meteoritos</h3>
</div>
<div id="Pizarras">
<div class="boton" onclick="CrearObjetos()">Comprobar</div>
<div id="pizarra"></div>
</body>

</html>


Gracias.
 ;)
« Última modificación: 09 de Junio 2018, 20:01 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, el código es una buena solución del ejercicio, bien estructurado

El código es muy similar al del ejercicio CU01147E, si bien tiene pequeños matices. Para quien revise el código puede estar bien comprobar las pequeñas diferencias que tiene e interpretarlas, ya que en un caso se trabaja con herencia y en este con propiedades y métodos estáticos

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