Objetos
JavaScript incorpora programación orientada a objetos. A cada tipo de objeto lo denominaremos clase, aunque para ser estrictos, en JavaScript deberíamos hablar de prototipos en vez de clases.
Una clase se puede considerar como una colección de propiedades y de métodos que acceden a esas propiedades .
- clases: para declarar una clase en JavaScript se usa function, que es el constructor para la clase.
- propiedades: las propiedades de la clase se definen anteponiendo this al nombre de la propiedad (this se refiere al propio objeto).
- métodos: los métodos se definen como funciones normales. Acceden a las propiedades de la clase anteponiendo this al nombre de la propiedad.
La sintaxis básica para definir una clase es:
function mostrarPerfil() { document.write("Nombre: " + this.nombre + "<br />") document.write("Edad: " + this.edad + "<br />") document.write("Puesto: " + this.puesto + "<br />") } function empleado(nombre, edad, puesto) { this.nombre = nombre this.edad = edad this.puesto = puesto this.mostrarPerfil = mostrarPerfil } |
Una vez definida la clase podemos crear objetos de esa clase con la sentencia new y acceder a sus propiedades y métodos con la sintaxis objeto.propiedad y objeto.metodo:
empleado_1 = new empleado("Pedro", 26, "Programador") empleado_1.mostrarPerfil() empleado_1.edad = 30 empleado_1.mostrarPerfil() |
Con el código anterior obtenemos:
Nombre: Pedro Edad: 26 Puesto: Programador Nombre: Pedro Edad: 30 Puesto: Programador |
JavaScript soporta herencia y los objetos pueden anidarse de forma que un objeto sea una propiedad de otro objeto. Por ejemplo:
function oficina(ciudad, pais) { this.ciudad = ciudad this.pais = pais } function empleado(nombre, edad, puesto, oficina) this.nombre = nombre this.edad = edad this.puesto = puesto this.oficina = oficina } oficina_1 = new oficina("Madrid","Spain") empleado_1 = new empleado("Pedro", 26, "Programador", oficina_1) |
Recursos
- Tutorial JavaScript: JavaScript Tutorial