Hoy, más que hablar de optimización, vamos a ver algo sobre orientación a objetos, que uno de los mejores inventos desde la cocacola.
El primer paso para la orientación a objetos, es saber cómo se crea un objeto de tipo Object en javascript.
El objeto más simple es el mapa (y no el de Dora la exploradora) o matriz asociativa dispersa que se define entre llaves (recuerdo que los corchetes es la notación simple para definir arrays) y que se indexa por cadenas.
Para definir propiedades del objeto, se puede hacer al definirlo (la clave es una cadena de texto pero no es obligatorio escribirla como cadena entre comillas) o a posteriori como si fuera un Array.
var obj = {}; // Objeto vacío var obj = {'clave': valor}; // Objeto con propiedad obj['clave'] = valor; // Propiedad en tiempo de ejecuciónEl valor almacenado para una propiedad puede ser cualquier cosa, es decir, cualquier objeto de javascript, incluidos otros objetos.
Así se definen objetos, pero las funciones también son objetos y cuando se busca la orientación a objetos con javascript, son los que se usan para definir las clases.
Una clase sencilla definida con una función puede ser el siguiente
var Coordenada = function (x, y) { this.x = x; this.y = y; };Los miembros de la clase se definen de dos maneras, o desde dentro de la definición de la clase, o desde fuera.
Si es desde dentro, se hace con la palabra reservada this
this.x = x;Si es desde fuera, hay que hacer referencia al prototipo de la
Coordenada.prototype.propiedad = valor;Todas las variables/funciones definidas dentro dentro de nuestra
var Coordenada = function (x, y) { this.x = x; // Miembro público this.y = y; // Miembro público var c = 123; // Miembro privado };Para instanciar la clase, no hay más que usar la palabra reservada new
var c = new Coordenada(x, y);Creo que es importante recordar algo de notación básica de objetos (heredada de Java) para diferenciar clases de objetos.
- Las clases comienzan por mayúscula
- Los objetos empiezan por minúscula
No hay comentarios:
Publicar un comentario