Los objectos en jаvascript, al igual que en muchos otros lenguajes de programación, pueden ser comparados con objetos de la vida real. El concepto de Objetos en jаvascript se puede entender como en la vida real, objetos tangibles.
En jаvascript, un objecto es un entidad independiente con propiedades y tipos. Compárelo con una taza por ejemplo. Una taza es un objeto, con propiedades. Una copa tiene un color, un diseño, peso, un material del que fue hecho, etc. De la misma manera, los objetos de jаvascript pueden tener propiedades, que definen sus características.
Objetivos
Utilizar los conceptos básicos de la programacion orientada a objetos en jаvascript.
Lecturas propuestas
Objetos principales del sistema
Programación orientada a objetos.
Un objeto es una estructura que contiene tanto las variables (llamadas propiedades) como las funciones que manipulan dichas variables (llamadas métodos). A partir de esta estructura se ha creado un nuevo modelo de programación (la programación orientada a objetos) que atribuye a los mismos propiedades como herencia o polimorfismo. Como veremos, jаvascript simplifica en algo este modelo y hace una programación híbrida entre la programación estructurada y la programación orientada a objetos.
El modelo de la programación orientada a objetos normal y corriente separa los mismos en dos: clases e instancias (objetos). Las primeras son entes más abstractos que definen un conjunto determinado de objetos. Las segundas son miembros de una clase, poseyendo las mismas propiedades que la clase a la cual pertenecen.
Propiedades y métodos.
Para acceder a los métodos y propiedades de un objeto debemos utilizar la siguiente sintaxis:
objeto.propiedad
objeto.metodo(parametros)
Conceptos Básicos.
Objetos: Son todas las cosas con identidad propia. Se relacionan entre si. Poseen características (atributos) y tienen responsabilidades (funciones, métodos) que deben cumplir. Son ejemplares (instancias) de una clase y conocen a la clase a la cual pertenecen.
Atributos o propiedades: Son las características, cualidades distintivas de cada objeto. Deben ser mínimos para poder realizar todas las operaciones que requiere la aplicación.
Ejemplos de objetos del mundo real:
- Casa: atributos: tamaño, precio, cantidad de habitaciones, etc.; responsabilidades: comodidad, seguridad, etc.
- Mesa: atributos: altura, largo, ancho, etc.; responsabilidades: contener elementos.
- Ventana: atributos: tamaño, color, etc.; responsabilidades: abrirse, cerrarse, etc.
.Ejemplos de objetos del mundo de la programación:
- Ventana:
atributos: tamaño, color, etc.;
responsabilidades: mostrar título,achicarse etc.
Responsabilidades o Métodos.
Son las responsabilidades que debe cumplir la clase. El objetivo de un método es ejecutar las actividades que tiene encomendada la clase.
Es un algoritmo (conjunto de operaciones) que se ejecuta en respuesta a un mensaje; respuestas a mensajes para satisfacer peticiones.
Un método consiste en el nombre de la operación y sus argumentos. El nombre del método identifica una operación que se ejecuta.
Un método está determinado por la clase del objeto receptor, todos los objetos de una clase usan el mismo método en respuesta a mensajes similares.
La interpretación de un mensaje (selección del método ejecutado) depende del receptor y puede variar con distintos receptores, es decir, puede variar de una clase a otra.
Clases
Una clase es un molde para objetos que poseen las mismas características (que pueden recibir los mismos mensajes y responden de la misma manera).
Una clase es una representación de una idea o concepto. Unidad que encapsula códigos y datos para los métodos (operaciones).
Todos los ejemplares de una clase se comportan de forma similar (invocan el mismo método) en respuesta a mensajes similares.
La clase a la cual pertenece un objeto determina el comportamiento del objeto. Una clase tiene encomendadas actividades que ejecutan los métodos.
Las clases están definidas por:
- Atributos (Propiedades),
- Comportamiento (operaciones o métodos) y
- Relaciones con otros objetos.
Una aplicación es un conjunto de objetos de determinadas clases.
Comentarios