Creación de clases en Javascript

Valoración del artículo:
Ahora que ya sabemos lo que son los objetos, vamos a ver cómo podemos crear nuestros propios objetos en Javascript.
Publicado: 21/5/02
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Ahora que ya hemos conocido un poco los objetos y hemos aprendido a manejarlos podemos pasar a un tema más avanzado, como es el de construir nuestros propios objetos, que puede sernos útil en ciertas ocasiones para temas avanzados.

Así que vamos a ver cómo podemos definir nuestros propios objetos, con sus propiedades y métodos, de manera que aprendamos el mecanismo, pero sin entrar demasiado en aspectos prácticos que los dejamos para ejemplos del futuro.

Para crear nuestros propios objetos debemos crear una clase, que recordamos que es algo así como la definición de un objeto con sus propiedades y métodos. Para crear la clase en Javascript debemos escribir una función especial, que se encargará de construir el objeto en memoria e inicializarlo. Esta función se le llama constructor en la terminología de la programación orientada a objetos.

function MiClase (valor_inicializacion){
    //Inicializo las propiedades y métodos
    this.miPropiedad = valor_inicializacion
    this.miMetodo = nombre_de_una_funcion_definida
}

Eso era un constructor. Utiliza la palabra this para declarar las propiedades y métodos del objeto que se está construyendo. This hace referencia al objeto que se está construyendo, pues recordemos que a esta función la llamaremos para construir un objeto. A ese objeto que se está construyendo le vamos asignando valores en sus propiedades y también le vamos asignando nombres de funciones definidas para sus métodos. Al construir un objeto técnicamente es lo mismo declarar una propiedad o un método, solo difiere en que a una propiedad le asignamos un valor y a un método le asignamos una función.

La clase AlumnoUniversitario

Lo veremos todo más detenidamente si hacemos un ejemplo. En este ejemplo vamos a crear un objeto estudiante universitario. Como estudiante tendrá unas características como el nombre, la edad o el número de matrícula. Además podrá tener algún método como por ejemplo matricular al alumno.

Constructor: Colocamos propiedades

Veamos cómo definir el constructor de la clase Alumnouniversitario, pero solamente vamos a colocar por ahora las propiedades de la clase.

function AlumnoUniversitario(nombre, edad){
    this.nombre = nombre
    this.edad = edad
    this.numMatricula = null
}

Los valores de inicialización los recibe el constructor como parámetros, en este caso es sólo el nombre y la edad, porque el número de matrícula no lo recibe un alumno hasta que es matriculado. Es por ello que asignamos a null la propiedad numMatrícula.

Comentarios
Fueron enviados 2 comentarios al artículo
2 comentarios revisados:
Por: alberto madrid
04/11/05
Queria comentarios q os habeis equivocado al redactar el articulo en una cosita. Al final del todo decis que asignamos a null la propiedad numMatricula, cuando lo correcto es que asignamos a la propiedad nummatricula el valor null. Un saludo
Por: Gabriel
15/2/06
Yo no lo llamaría una clase ya que eso vendría a ser como una PSEUDO clase, en realidad es una función eso. Pero el "this" permite que esa función pueda trabajar como si fuera el contructor de la clase.

Creo que como está explicado se entiende bien pero llamar "constructor de clase" a una función fuera del ámbito de una clase genera confusión a personas inexpertas.

Pienso que debería indicarse al comienzo del artículo que eso no es en realidad una clase, pero que se puede imitar el funcionamiento.

Saludos.

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo