Foros del Web » Programando para Internet » Javascript »

Herencia en JavaScript

Estas en el tema de Herencia en JavaScript en el foro de Javascript en Foros del Web. Hola, tengo una duda, tendo el siguiente codigo: <script type="text/javascript" src="clase.js"></script> <script type="text/javascript"> function ClaseB() { this.edad = 10; this.peso = 70; this.saludarDos = function ...
  #1 (permalink)  
Antiguo 23/04/2015, 14:55
 
Fecha de Ingreso: enero-2013
Ubicación: madrid
Mensajes: 4
Antigüedad: 11 años, 2 meses
Puntos: 0
Herencia en JavaScript

Hola, tengo una duda, tendo el siguiente codigo:

<script type="text/javascript" src="clase.js"></script>
<script type="text/javascript">
function ClaseB()
{
this.edad = 10;
this.peso = 70;

this.saludarDos = function () {
document.writeln(this.edad);
};
}

ClaseB.prototype = new ClaseA();
var clase = new ClaseB();
var clasea = new ClaseA();
</script>

Al principio del script llamo a un archivo .js el cual es una declaracion de una clase, el codigo es este:

function ClaseA()
{
this.nombre = "pepe";
this.apellido = "garcia";

this.saludar = function(){
document.writeln(this.nombre);
};
}

¿Como puedo hacer para heredar, si una de las clases esta en un archivo js independiente?

Gracias
  #2 (permalink)  
Antiguo 23/04/2015, 15:54
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 8 meses
Puntos: 32
Respuesta: Herencia en JavaScript

Hola gsx2558

Tienes que pensar que enlazar scripts es como hacer un copy paste del código en el código HTML. Es decir, que por estar en archivos distintos no quiere decir que esten en módulos separados y no puedas acceder a la otra clase. Así que tranquilamente podrías hacer:

fichero ClaseA.js :
Código Javascript:
Ver original
  1. function ClaseA() {
  2.     this.nombre = "pepe";
  3.     this.apellido = "garcia";
  4.  
  5.     this.saludar = function() {
  6.         document.writeln(this.nombre);
  7.     }
  8. }

fichero ClaseB.js :
Código Javascript:
Ver original
  1. function ClaseB() {
  2.     this.edad = 10;
  3.     this.peso = 70;
  4.  
  5.     this.saludarDos = function () {
  6.         document.writeln(this.edad);
  7.     };
  8. }
  9.  
  10. ClaseB.prototype = new ClaseA();

Y luego el html:
Código HTML:
Ver original
  1. ...
  2. <script type="text/javascript" src="ClaseA.js"></script>
  3. <script type="text/javascript" src="ClaseB.js"></script>
  4. <script type="text/javascript">
  5. var clase = new ClaseB();
  6. var clasea = new ClaseA();
  7. //...
  8. ...

PD.: Si te interesa y quieres programar modularmente en javascript puedes empezar mirando el patrón AMD (usado por requireJS) o el patrón CommonJS usado por node.js y que con browserify te lo deja listo para correr en el navegador

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Etiquetas: herencia, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:31.