Autor Tema: JavaScript Propiedades y métodos estáticos trabajar con clases- objeto CU01148E#  (Leído 1820 veces)

Pepote21

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 92
    • Ver Perfil
Hola a todos. Os adjunto mi código del ejercicio CU01148E del tutorial JavaScript desde cero usando Notepad++ como editor. Gracias. Un saludo.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>
        <title>Ejercicios aprenderaprogramar.com</title>
        <meta charset="utf-8">
        <style type="text/css">
           
        </style>
        <script type="text/javascript">
    var msg='';
            function Meteorito(d,t,n){
     this.diametro=d;
                 this.temperatura=t;
this.nombre=n;
//Propiedad estática
Meteorito.definicionSegunDiccionario='es un meteoroide que alcanza la superficie de un planeta debido a que no se desintegra por completo en la atmósfera.';
Meteorito.obtenerRadio=function(x){//Método estático
    return x/2;
}
Meteorito.obtenerTemperaturaFarenheit=function(grados){//Método estático   
    grados=(grados*1.8)+32;
return grados;
}
}


function ejemploObjetos(){
    var meteorito1=new Meteorito(975,-20,'Atenea');
msg=meteorito1.nombre+' '+Meteorito.definicionSegunDiccionario+'\n';
msg=msg+'Radio: '+Meteorito.obtenerRadio(meteorito1.diametro)+' m².\n';
msg=msg+'Superficie: '+Math.PI*Meteorito.obtenerRadio(meteorito1.diametro)*Meteorito.obtenerRadio(meteorito1.diametro)+' m².\n';
msg=msg+'Temperatura Celsius: '+meteorito1.temperatura+'ºC equivalente a '+Meteorito.obtenerTemperaturaFarenheit(meteorito1.temperatura)+'ºF';
alert(msg);
}
        </script>
    </head>
    <body>
    <script type="text/javascript">   
           
        </script>
            <div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
    </body>
</html>
« Última modificación: 24 de Junio 2017, 16:19 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas Pepote21

De acuerdo con los ejemplos del curso, las propiedades y métodos estáticos se definirían fuera de la función donde defines la clase de objeto. Según esto el código quedaría así:

Código: [Seleccionar]
<!DOCTYPE html>
<!DOCTYPE html>
<html>
    <head>
        <title>Ejercicios aprenderaprogramar.com</title>
        <meta charset="utf-8">
        <style type="text/css">
           
        </style>
        <script type="text/javascript">
    var msg='';
            function Meteorito(d,t,n){
     this.diametro=d;
                 this.temperatura=t;
this.nombre=n;
}

//Propiedad estática
Meteorito.definicionSegunDiccionario='es un meteoroide que alcanza la superficie de un planeta debido a que no se desintegra por completo en la atmósfera.';
Meteorito.obtenerRadio=function(x){//Método estático
    return x/2;
}
Meteorito.obtenerTemperaturaFarenheit=function(grados){//Método estático   
    grados=(grados*1.8)+32;
return grados;
}

function ejemploObjetos(){
    var meteorito1=new Meteorito(975,-20,'Atenea');
msg=meteorito1.nombre+' '+Meteorito.definicionSegunDiccionario+'\n';
msg=msg+'Radio: '+Meteorito.obtenerRadio(meteorito1.diametro)+' m.\n';
msg=msg+'Superficie: '+Math.PI*Meteorito.obtenerRadio(meteorito1.diametro)*Meteorito.obtenerRadio(meteorito1.diametro)+' m².\n';
msg=msg+'Temperatura Celsius: '+meteorito1.temperatura+'ºC equivalente a '+Meteorito.obtenerTemperaturaFarenheit(meteorito1.temperatura)+'ºF';
alert(msg);
}
        </script>
    </head>
    <body>
            <div style="color:blue; font-size: 24px;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
    </body>
</html>


Nota: El radio debe indicarse en m no en m2

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