Aprendiendo Ext JS 3

Herencia en JavaScript Más videos

Descripción del tema

JavaScript tiene una forma única de crear objetos y realizar herencia entre ellos, a esta forma se le llama “prototypal inheritance”, básicamente un objeto puede heredar métodos y propiedades de otros objetos creando un prototipo para generar nuevos objetos. La herencia de prototipo se realiza utilizando la propiedad “prototype” que se encuentra en todos los objetos. En JavaScript la herencia es simple pero con un poco de trabajo se puede obtener herencia múltiple; en este tema se muestra como realizar la herencia simple. Es importante mencionar que la propiedad “prototype” sólo puede heredar de otros objetos y no de otros prototipos o funciones constructoras. A continuación se muestra un ejemplo para una mejor comprensión:
//Super "class"
var Animal = function(type){
	this.type = type;
}

Animal.prototype.getType = function(){
	return this.type;
}

var Dog = function(options){
	this.breed = options.breed;
}

//Inheritance
Dog.prototype = new Animal('Dog');

//attach methods to the Dog "class"
Dog.prototype.run = function(){
	console.debug('the '+this.breed+' '+this.type+' is running!');
}
//new instance
var beagle = new Dog({breed:'Beagle'});

//calling a method of the super "class"
console.debug(beagle.getType());
beagle.run();
La parte más importante del ejemplo anterior es donde se realiza la herencia, “Dog.prototype = new Animal('Dog');”. La variable Dog hace referencia a la función constructora del objeto Dog, “new Animal()” está creando un objeto Animal el cual es asignado al prototipo de la función constructora del objeto “Dog”; de esta forma el objeto Dog contendrá todos los método y propiedades el objeto “Animal” cuando se creen nuevas instancias.

Conclusión

La herencia simple es algo que utilizaremos cuando desarrollemos componentes, es necesario que tengamos este concepto en mente.

Te gustaría recibir más tutoriales como este en tu correo?

Este tutorial pertenece al curso Aprendiendo Ext JS 3, te recomiendo revises el resto de los tutoriales ya que están en secuencia de menor a mayor complejidad.

Si deseas recibir más tutoriales como este en tu correo te recomiendo registrarte al curso, si ya eres miembro solo identifícate y registrate al curso, si no eres miembro te puedes registrar gratuitamente!

Si no gustas registrarte en este momento no es necesario! Aún así puedes recibir los nuevos tutoriales en tu correo! Jamás te enviaremos Spam y puedes cancelar tu suscripción en cualquier momento.

¿Olvidaste tu contraseña?

7Comentarios

  • Avatar-9 Claudio Morales 19/03/2009

    Hola que tal Muy buena información es algo importante de explotar para generar aplicaciones web mas poderosas saludos.

    • Avatar-11 Alex 30/05/2009

      good

      • Avatar-12 HalleyR 21/07/2009

        Una pregunta Crisfel por que en la consola primero imprime Dog y luego the Beagle Dog is running! si la primera sentencia era <pre name="code" class="javascript"> Dog.prototype.run = function(){ console.debug('the '+this.breed+' '+this.type+' is running!'); } </pre>

        • Avatar-8 treboR 01/11/2009

          HalleyR, fíjate en lo ke hacen estas dos líneas. //lláma a imprimir en la consola el tipo. 1. console.debug(beagle.getType()); //lláma el método ó función run, ke tiene dentro una llamada a imprimir en la consola 2. beagle.run();

          • Avatar-11 Roberto 26/10/2010

            Muchas gracias. Me ha aclarado el tema de las clases en javascript. Me temo que HTML5 va a obligar a usar mucho esto :)

            • Avatar-8 Rodolfo 26/12/2010

              Buenos dias. Estoy en mis primeros pininos de ExtJs y he optado por usarlo con CodeIgniter, ya que los que conosco usan php para todo. Me han metido en la cabeza el utilizar Spring MVC Framework y Hibernate Framework. Mi pregunta es si tendria mucha ventaja sobre el php. Muchas Gracias

              • Avatar-9 Lorenzo 10/08/2016

                Si el objecto animal también contiene una funcion run, ¿javascript sustituye el prototype?

                Instructor del curso

                Crysfel3

                Autor: Crysfel Villa

                Es ingeniero de software con más de 7 años de experiencia en desarrollo web.

                Descarga Código Fuente

                Regístrate a este curso

                Este tutorial pertenece al curso Aprendiendo Ext JS 3, revisa todos los tutoriales que tenemos en este mismo curso ya que están en secuencia y van de lo más sencillo a lo más complicado.

                Tendrás acceso a descargar los videos, códigos y material adicional.

                Podrás resolver los ejercicios incluidos en el curso así como los Quizzes.

                Llevarás un registro de tu avance.