Ver Mensaje Individual
  #12 (permalink)  
Antiguo 06/06/2013, 21:46
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: Peticion : Articulos sobre Polimorfismo y Relaciones entre clases deribada

No estás sobrecargando ningun método, solamente llamás a otro método con el thisValue apuntando al objeto actual.

Te diria que esperes un poco antes de pensar en sobrecarga de metodos (que es posible, ej: multimethods).

La idea de llamar al constructor padre es simplemente no repetir la logica en ambos constructores, nada más que eso.

Podes sobreescribir los métodos que quieras, la precedencia en los prototipos es igual que en las clases de Java por ejemplo.

Código Javascript:
Ver original
  1. var Person = function(name) {
  2.   this.name = name;
  3. };
  4.  
  5. Pirate.prototype.salute = function() {
  6.   alert('I\'m ' + this.name);
  7. };
  8.  
  9. var Pirate = function(name) {
  10.   // Esto seria el equivalente a super(name)
  11.   Person.call(this, name);
  12. };
  13.  
  14. // Extendemos
  15. Pirate.prototype = new Person;
  16.  
  17. // Sobreescribimos el metodo salute
  18. Pirate.prototype.salute = function() {
  19.   alert('ARRRRRRR! I\'m ' + this.name );
  20. };
  21.  
  22. var jose = new Person('José');
  23.  
  24. jose.salute(); // I'm José
  25.  
  26. var sandokan = new Pirate('Sandokan');
  27.  
  28. sandokan.salute(); // ARRRRRRR! I'm Sandokan

PD: Si queres, plantea un diseño y lo plasmamos a codigo, probablemente sea lo mejor para sacarte las dudas.
__________________
blog | @aijoona