Taller Programación Orientada a Objetos
Antes de mostrar el código implementando la herencia en javascript de mi proyecto, creo que sería mejor explicar la manera en que se crea la herencia en javascript ya que es diferente a los lenguajes mas comunes de POO.
Retomando el ejemplo anterior de instrumentos, en el que se tiene una clase padre llamada Instrumentos, con dos métodos tocar y romper, y dos clases hijas llamadas, guitarra y batería, que heredan los métodos de tocar y romper, la manera de implementar el código sería:
function instrumento (){//Esta es la clase padre
this.tocar = tocar;
this.romper = romper;
}
function guitarra (){//Clase hija
}
guitarra.prototype = new instrumento();//Se implementa LA HERENCIA
function bateria (){//Clase HIja
this.romper = romperBateria;
}
bateria.prototype = new instrumento();//Se implementa LA HERENCIA
function tocar (){
document.write(“Estamos tocando musica
”);
}
function romper (){
document.write(“Eso lo pagas tu
”);
}
function romperBateria (){
document.write(“Rompiendo bateria, por favor espere.
”);
}
Y mi código, esta parte es la primer clase padre, que llamé Dibujo:
function Dibujo (){//Clase PADRE
var color;//Atributos a heredar por FigGeom, Libre y Recta
var intensidad;
var cor_x;
var cor_y;
function transparencias();//Metodos a heredar
function mov_raton();
}
function FigGeom (){//Clase HIJA que sera padre de "elipse", "rectangulos", "poligonos"
var relleno; //atributos a heredar por Elipse Rectangulos Poligonos
var contorno;
}
FigGeom.prototype = new Dibujo();//aqui se forma la herencia
function Linea (){//Clase HIJA que puede ser padre de "recta" y "curva"
var grosor;//atributos a heredar por Curva y Recta
}
Linea.prototype = new Dibujo();//aqui se forma la herencia
function Libre (){//Clase HIJA
}
Libre.prototype = new Dibujo();//aqui se forma la herencia
Y en esta otra parte muestro las clases padres, que anteriormente eran hijas:
function Elipse (){//Clase HIJA de FigGeom
}
Elipse.prototype = new FigGeom();//aqui se forma la herencia
function Rectangulos (){//Clase HIJA de FigGeom
}
Rectangulos.prototype = new FigGeom();//aqui se forma la herencia
function Poligonos (){//Clase HIJA de FigGeom
}
Poligonos.prototype = new FigGeom();//aqui se forma la herencia
function Curva (){//Clase HIJA de Linea
}
Curva.prototype = new Linea();//aqui se forma la herencia
function Recta (){//Clase HIJA de Linea
}
Recta.prototype = new Linea();//aqui se forma la herencia
Esta es solo una parte del código que implementaré para el proyecto.
Excelente, 5.
ResponderEliminar