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í, un nuevo la persona objeto del tipo Objeto es creado. Este nuevo la persona objeto contiene todas las propiedades y métodos de la predeterminada Objeto escribir, pero con un nuevo nombre. A continuación, puede añadir sus propias propiedades y métodos a la la persona oponerse a que sea describir 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 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 el 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 sapiens " -willieNelson.occupation = " músico " -willieNelson.hometown = " Austin " -willieNelson.hair = " a largo " -willieNelson.genre = " país " -

Este método de definición de la willienelson objeto es un desperdicio, sin embargo. Se requiere que usted haga 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.

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

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


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 como cualquier función en javascript, pero utilizan la esta palabra clave para asignar propiedades a un nuevo objeto. El nuevo objeto entonces hereda las propiedades del tipo de objeto.

He aquí una función constructora para nuestra La 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 sapiens " -}

Para crear un nuevo objeto del tipo La 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 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 La persona.


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

Demostración Herencia

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

Willie Nelson es un & lt; span class = Persen.
Willie Nelson es un Persen.

Modificación de un tipo de objeto

Supongamos que usted tiene su La persona tipo de objeto, que sirve como el prototipo para varios objetos. En algún momento te das cuenta de que la persona, así como todos los objetos que heredan de él, debería haber algunas propiedades más.

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

persona function () {this.eyes = 2-this.ears = 2-this.arms = 2-this.hands = 2-this.feet = 2-this.legs = 2-this.species = " Homo sapiens " -} var willienelson = new Persona () - var johnnyCash = new Persona () - var PatsyCline = new Persona () - // persona necesita más propiedades Person.prototype.knees = 2 persona .prototype.toes = 10 Person.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 de un prototipo.

// Crear un genéricos Personvar persona = {ojos: 2, brazos, pies: 2: 2} // crear el objeto willienelson, basado en Personvar willienelson = Object.create (Persona) - // probar un propertydocument.write heredada (willienelson .feet) - // salidas 2



» » » » Trabajar con la herencia de codificar con javascript