Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 11 de Febrero 2016, 23:43

Título: JavaScript herencia propiedades y métodos de clase o estáticos ejemplo CU01148E
Publicado por: bermartinv en 11 de Febrero 2016, 23:43
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>
Título: Re:JavaScript herencia propiedades y métodos de clase o estáticos ejemplo CU01148E
Publicado por: César Krall en 13 de Febrero 2016, 17:54
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!