Ver Mensaje Individual
  #1  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Clases y herencia

Hola,

Quisiera escribir un serie de clases en JavaScript que llevaran a cabo o pusieran más sencillas la realización de determindas tareas que acaso son recurrentes en distintas aplicaciones. Sé que existen muy buenas clases o "frameworks" por ahí, como pueda ser jQuery.

Resumiendo, quisiera saber qué os parece la siguiente forma de hacer las cosas. Mi preocupación estriba en las instrucciones que resalto en negrita. Por otro lado se nota mi carencia de conocimientos respecto de la programación orientada a objetos y más aún si cabe en lo tocante a esta en JavaScript.

Código PHP:
Jc = function()
{
  
this.version '1.0';
}
// Jc

JcBase = function()
{
  
this.el = function(id){
        return 
document.getElementById(id);
    }    
}
// JcBase

JcInterfaz = function()
{
  
this.Ocultar = function(id){
        
this.el(id).style.display 'none';
    }
    
  
this.Mostrar = function(id){
        
this.el(id).style.display 'block';
    }    
}
JcInterfaz.prototype = new JcBase();
// JcInterfaz

Jc.prototype = new JcBase();
Jc.prototype = new JcInterfaz();

$ = new 
Jc(); 
El caso es que el código anterior funciona... o eso me parece a mí. Es decir, puedo hacer uso del objeto "$" y acceder a los métodos "Ocultar" y "Mostrar", así como a la propiedad "version", y huelga decir que la llamada al método "el" funciona desde los métodos "Ocultar" y "Mostrar. Ahora, no me queda claro el asunto.

No sé si debería enfocar las cosa de otro modo. Es decir, no sé si debería "instanciar" la clase "JcInterfaz" para hacer uso de sus métodos y no utitilizar la clase "Jc"... dudo porque si supongo una nueva clase "JcAjax" que quieras hacer uso de algún método de la clase "JcInterfaz"... ¿De qué clase debería heredar "JcAjax"? Porque si heredara de "JcBase" no contaría con los métodos de la clase "JcInterfaz".

En fin. A ver qué podéis decirme al respecto. Sé que podría tratar de hacerme con los mandos de "jQuery", por ejemplo, porque además veo que hace uso de "cosas" como "XPath" de la que tan solo he oído hablar y leí algo en su momento pero que parece da muy buenos resultados. No se trata de que quieras reinventar la rueda, pero, leches, uno se quiere dar el gusto de hacer algo por su cuenta y riesgo.

En fin. Qué os voy a decir que no sepáis ya. Gracias de antemano pataliebres.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 16-01-2007 a las 10:21:23.
Responder Con Cita