OBJETOS

Páginas: 5 (1132 palabras) Publicado: 2 de diciembre de 2013
6. Objetos

6.1 ¿Qué son los objetos? 

Técnicamente, un objeto de JavaScript es un array asociativo formado por las propiedades y los métodos del objeto. Así, la forma más directa para definir las propiedades y métodos de un objeto es mediante la notación de puntos de los arrays asociativos.
Un array asociativo es aquel en el que cada elemento no está asociado a su posición numéricadentro del array, sino que está asociado a otro valor específico. Los valores de los arrays normalesse asocian a índices que siempre son numéricos. Los valores de los arrays asociativos se asocian a claves que siempre son cadenas de texto.

6.2 Atributos 


Las propiedades son variables contenidas en la clase, cada ejemplo del objeto tiene dichas propiedades. Las propiedades deben ajustarse a lapropiedad prototipo de la clase (función), de modo que la herencia funcione correctamente.
 las propiedades del objeto se definen en forma de variables. Estas variables deben estar situadas dentro de la funcion constructora, marcadas con "this", para poder ser accesadas como parte del objeto. Las variables reciben parametros que se envian al crear una nueva instancia del objeto (para nuestrospropositos, al crear un nuevo gato).
Entonces veamos el ejemplo con nuestro objeto Gato. Un gato tiene como propiedades básicas... digamos que su nombre, su color, y su edad. Entonces estas propiedades serán las que reciba la funcion constructora para ser asignadas, Veamos como:
var Gato = function (nombre, color, edad) {     
this.nombre = nombre;    
this.color = color;   
this.edad = edad; }Con lo anterior, definimos el Gato, y cómo es ese gato. Sin embargo, algunos de los que son conocedores de la OOP ya deben estar pensando... ¿Y el strict data typing?. El script data typing es lo que regula el tipo de datos que entran a un objeto, y asi mismo el cómo se comportan. Por lo general, los lenguajes basados en clases son muy estrctos con respecto a los tipos de datos que se usan.Por fortuna, en JS podemos emular el SDT, asignando los tipos de variables de entrada y (si eres un maniaco) chequeando que los valores sean correctos:
var Gato = function (nombre, color, edad) {     
this.nombre = new String(nombre);     
this.color = new String(color);     
this.edad = new Number(edad);     //Por ejemplo  
   if (isNaN(this.edad)) {        
 alert("Error en el data-typing,edad no es un numero");    
 }
}
Pues perfecto. Hemos creado la definición de nuestro objeto. Sin embargo nos falta un pequeño detalle. ¡Usar el objeto! Asi que vamos a crear un gato nuevo, y a asignarle las propiedades que ya vimos arriba:
var Michi = new Gato("Michifu", "azul", 2);
Con esto hemos creado una instancia de nuestro objeto, un simpatico "Gato" que se llama Michifu, tiene dosaños y es azul.
Si queremos comprobar alguna de las propiedades de nuestro objeto lo haríamos así: Variable_que_define_el_objeto (punto) propiedad_deseada. Asi que, por ejemplo, veamos el color del gato Michifu:
alert("El gato es de color "+Michi.color);
Lo que nos da el resultado: "El gato es de color azul";

6.2Método
Los métodos siguen la misma lógica que las propiedades, la diferencia esque son funciones y se definen como funciones. Llamar a un método es similar a acceder a una propiedad, pero se agrega () al final del nombre del método, posiblemente con argumentos.
Método 1: Vinculación externa

Con este metodo declaramos que una de las propiedades, llamará a una funcion externa:
[...]
this.comer = comerExterna;
[...]
function comerExterna() {
    alert("El gato"+this.nombre+" se comió un ratón");
}
[...]
Michi.comer();
[ Salida = "El gato Michifu se comió un ratón" ]
Método 2: Extension del prototipo
Como los objetos están compuestos por prototipos en JavaScript, nosotros podemos aumentarle métodos al prototipo del objeto directamente, de la siguiente manera:
//[ No tocamos la funcion constructora ]
Gato.prototype.comer = function() {
    alert("El...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Objetivos
  • objetivos
  • OBJETIVOS
  • OBJETIVOS
  • Objetivos
  • objetivo
  • Objetos
  • objetivos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS