practicas con herencia de clases
herencia de clases con robo de constructor y redefinicion de metodos.
by Fabian Allel
JavaScript
function ClassAnimal(nombre, numPatas, tieneCola, tieneAlas, color, fechaNacimiento, sonido, posicion){
var that=this;
that.nombre=nombre;
var _numPatas=numPatas;
var _tieneCola=tieneCola;
var _tieneAlas=tieneAlas;
that.color=color;
that.fechaNacimiento=fechaNacimiento;
that.sonido=sonido;
that.posicion=posicion;
//privado
this.getNumPatas=function(){
alert(_numPatas);
};
this.getTieneCola=function(){
alert(_tieneCola);
};
this.getTieneAlas=function(){
alert(_tieneAlas);
};
ClassAnimal.prototype.andar=function(){
this.posicion++;
};
ClassAnimal.prototype.correr=function(){
this.posicion+=3;
};
ClassAnimal.prototype.hablar=function(){
alert(this.sonido);
};
}
//herencia
function ClassGato(esPeludo, nombre, numPatas, tieneCola, tieneAlas, color, fechaNacimiento, sonido, posicion){
ClassAnimal.call(this,nombre, numPatas, tieneCola, tieneAlas, color, fechaNacimiento, sonido, posicion);
this.esPeludo=esPeludo;
ClassGato.prototype.correr=function(){
this.posicion+=5;
};
}
ClassGato.prototype = new ClassAnimal();
ClassGato.prototype.constructor = ClassGato;
function ClassTortuga(nombre, numPatas, tieneCola, tieneAlas, color, fechaNacimiento, sonido, posicion){
ClassAnimal.call(this,nombre, numPatas, tieneCola, tieneAlas, color, fechaNacimiento, sonido, posicion);
ClassTortuga.prototype.correr=function(){
this.posicion+=1;
};
}
ClassTortuga.prototype = new ClassAnimal();
ClassTortuga.prototype.constructor = ClassTortuga;
//herencia
var coleccion=[];
var perro= new ClassAnimal('LulĂş', 4, true, false, 'Blanco con negro', new Date(2007,9,28,10,10,10), 'Guau', 0);
var gato= new ClassAnimal('Gotsi', 5, true, false, 'Negro', new Date(2007,9,28,10,10,10), 'Miau', 0);
var gato1=new ClassGato(true, 'Benito', 4, true, false, 'Amarillo', new Date(2007,9,28,10,10,10), 'Miau2',...