Autor Tema: JavaScript herencia propiedades y métodos de clase o estáticos ejemplo CU01148E  (Leído 2058 veces)

bermartinv

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 298
    • Ver Perfil
Ejercicio CU01148E del tutorial JavaScript.

Quisiera preguntar una cosa sobre herencia y metodos estáticos. Entiendo como se hace pero no sé cuando debería usar una manera u otra.

Mi código para este ejercicio

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document ejercicio aprenderaprogramar.com</title>
</head>
<script>

function cometa(diametro,temperaturaC,nombre){
   
    this.diametro = diametro;
   
    this.temperaturaC = temperaturaC;
   
    this.nombre = nombre;
   
}
   
cometa.prototype={
   
    definicion : "Un cometa es muy bonito",
   
    obtenerRadio : function (){
   
                        return  this.diametro / 2;
   
                            },

    obtenerTemperaturaF : function(){
   
                            var fahrenheit = this.temperaturaC * (9/5) + 32;
       
                            return fahrenheit;
                           
                            }
}
   
function crearObjetos(){
    cometa1 = new cometa(200,25,"Amparo");
    cometa2 = new cometa(10,2150,"pepe");
    cometa3 = new cometa(123,12344,"Saturnino");
     
        alert ('El cometa '+cometa2.nombre+' tiene un diametro de'+cometa2.diametro+' y un radio '+cometa2.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa2.temperaturaC+' y de '+cometa2.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa2.definicion);
       
               alert ('El cometa '+cometa1.nombre+' tiene un diametro de'+cometa1.diametro+' y un radio '+cometa1.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa1.temperaturaC+' y de '+cometa1.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa1.definicion);
                     
                      alert ('El cometa '+cometa3.nombre+' tiene un diametro de'+cometa3.diametro+' y un radio '+cometa3.obtenerRadio()+'. La temperatura a la que orbita es de '+cometa3.temperaturaC+' y de '+cometa3.obtenerTemperaturaF()+'. Y si no lo sabe un cometa es '+cometa3.definicion);
   
}
       
</script>



<body>
    <input type="button" value="cometa" onclick="crearObjetos()" />
</body>
</html>
« Última modificación: 13 de Febrero 2016, 17:53 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

Debes usar herencia y propiedades / métodos estáticos cuando vayas a crear muchos objetos de un tipo con new. De esa forma evitas ocupar memoria para las propiedades y métodos con cada objeto, ya que al ser comunes a todos los objetos solo ocupan espacio una vez.

Por ejemplo, piensa que fueras a hacer un efecto visual donde aparecen cientos de puntitos y cada puntito es un objeto. En ese caso es preferible definir propiedades y métodos estáticos.

El código lo he comprobado y todo bien

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

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