Trabajar con la herencia de codificar con javascript

Al crear objetos con javascript, que no sólo está limitado a la creación de objetos específicos, como su guitarra, su coche, su gato o su sándwich. La verdadera belleza de los objetos es que se puede utilizar para crear tipos de objetos, de los cuales se pueden crear otros objetos.

Aquí, una nueva persona objeto del tipo Objeto es creado. Esto nuevo persona objeto contiene todas las propiedades y métodos de la predeterminados Objeto escribir, pero con un nuevo nombre. A continuación, puede añadir sus propias propiedades y métodos para la persona objeto para hacer que describa específicamente lo que entendemos por persona.

var persona = new Object () - person.eyes = 2-person.ears = 2-person.arms = 2-person.hands = 2-person.feet = 2-person.legs = 2-person.species = “Homo sapiens”-

Así que, ahora que ha establecido algunas propiedades específicas de la persona objeto. Imagine que desea crear un nuevo objeto que es una persona específica, como Willie Nelson. Usted puede simplemente crear un nuevo objeto llamado willienelson y darle todas las mismas propiedades que la persona objeto, además de las propiedades que hacen Willie Nelson único.

var willienelson = new Object () - willieNelson.eyes = 2-willieNelson.ears = 2-willieNelson.arms = 2-willieNelson.hands = 2-willieNelson.feet = 2-willieNelson.legs = 2 willieNelson.species-= “Homo sapien”-willieNelson.occupation =‘músico’-willieNelson.hometown =‘Austin’-willieNelson.hair =‘largo’-willieNelson.genre =‘país’-

Este método de definición de la willienelson objeto es un desperdicio, sin embargo. Requiere que hacer un montón de trabajo, y no hay ninguna indicación de que aquí Willie Nelson es una persona. Él sólo pasa a tener todas las mismas propiedades que una persona.

Video: Qué buscan las empresas de TI

La solución es crear un nuevo tipo de objeto, llamado Persona y luego hacer el willienelson objeto ser del tipo Persona.

Observe que el nombre del tipo de objeto siempre se escribe con mayúscula. Este no es un requisito, pero es una convención casi universal. Por ejemplo, se puede decir

Video: Crea tu workflow front-end con Gulp.js #15 SASS @extend (herencia)

var persona = new Object () -

o

var willienelson = new Persona () -

La construcción de objetos con funciones constructoras

Para crear un nuevo tipo de objeto, se define una nueva función constructora. Las funciones constructoras se forman al igual que cualquier función en javascript, pero utilizan la esta palabra clave para asignar propiedades a un nuevo objeto. El nuevo objeto a continuación, hereda las propiedades del tipo de objeto.

Aquí es una función constructora para nuestra Persona tipo de objeto:

Persona function () {this.eyes = 2-this.ears = 2-this.arms = 2-this.hands = 2-this.feet = 2-this.legs = 2-this.species = “Homo sapien” - }

Para crear un nuevo objeto del tipo Persona Ahora, todo lo que necesita hacer es asignar la función a una nueva variable. Por ejemplo:

var willienelson = new Persona ()

los willienelson objeto hereda las propiedades de la Persona tipo de objeto. A pesar de que no se ha creado específicamente propiedades para el willienelson objeto, que contiene todas las propiedades de Persona.

Para probar esto, ejecute este código en un navegador web.

La herencia de demostración

Aquí está el resultado de ejecutar este código en un navegador.

Willie Nelson es una & lt; span class = persen.
Willie Nelson es una persen.

La modificación de un tipo de objeto

Supongamos que usted tiene su Persona tipo de objeto, que sirve como el prototipo para varios objetos. En algún momento se da cuenta de que la persona, así como todos los objetos que heredan de ella, debería haber unos más propiedades.

Para modificar un objeto prototipo, utilice el prototipo propiedad de que cada objeto hereda de OsegundoJect.

Persona function () {this.eyes = 2-this.ears = 2-this.arms = 2-this.hands = 2-this.feet = 2-this.legs = 2-this.species = “Homo sapien” - } var willienelson = new Persona () - Johnny Cash var = new Persona () - var PatsyCline = new Persona () - // persona necesita más propiedades Person.prototype.knees = 2-Person.prototype.toes = 10-Persona!. prototype.elbows = 2 - // comprobar los valores de los objetos existentes para el nuevo propertiesdocument.write (patsyCline.toes) - // salidas 10

Creación de objetos con Object.create

Sin embargo, otra manera de crear objetos a partir de otros objetos es utilizar el Object.create método. Este método tiene la ventaja de no requerir que escribir una función constructora. Simplemente copia las propiedades de un objeto especificado en un nuevo objeto. Cuando un objeto hereda de otro objeto, el objeto que hereda de se llama el prototipo.

Este ejemplo muestra cómo Object.create puede ser utilizado para crear el willienelson objeto a partir de un prototipo.

// crear un genérico Personvar persona = {ojos: 2: 2, los brazos, los pies: 2} // crear el objeto willienelson, basado en Personvar willienelson = Object.create (persona) - // probar una propertydocument.write heredada (willienelson .feet) - // salidas 2
Artículos Relacionados