miércoles, 10 de diciembre de 2014

UF1305 Parte 3:Introducción a la programación orientada a objetos en Javascript.

3.1 CREACIÓN DE CLASES EN JAVASCRIPT:


31.1.1 -LA CLASE ALUMNOUNIVERSITARIO:

Para crear nuestros propios objetos debemos crear una clase. Para crear la clase 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.

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.


3.1.2 -CONSTRUCTOR:COLOCAMOS PROPIEDADES:

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.


3.2 CREACIÓN DE CLASES EN JAVASCRIPT II:


Para construir un método debemos crear una función. Que se construye con intención de que sea un método para una clase puede utilizar también la variable this, que hace referencia al objeto sobre el que invocamos el método.

function matriculate(num_matricula){

 this.numMatricula = num_matricula 



La función matricular recibe un número de matrícula por parámetro y lo asigna a la propiedad numMatricula del objeto que recibe este método. Así rellenamos el la propiedad del objeto que nos faltaba. 

Construir otro método que imprime los datos del alumno. 

function imprimete(){ 

 document.write("Nombre: " + this.nombre) 

 document.write("<br>Edad: " + this.edad) 

 document.write("<br>Número de matrícula: " + this.numMatricula) 




Esta función va imprimiendo todas las propiedades del objeto que recibe el método.


3.2.1 -CONSTRUCTOR:COLOCAMOS MÉTODOS:

Para colocar un método en una clase debemos asignar la función que queremos que sea el método al objeto que se está

creando. Veamos cómo quedaría el constructor de la clase AlumnoUniversitario con el método matricular. 

function AlumnoUniversitario(nombre, edad){ 

 this.nombre = nombre 

 this.edad = edad 

 this.numMatricula = null 

 this.matriculate = matriculate 

 this.imprimete = imprimete





3.2.2 -PARA INSTANCIAR UN OBJETO:

Para instanciar objetos de la clase AlumnoUniversitario utilizamos la sentencia new, que ya hemos tenido ocasión de ver enotras ocasiones. 


miAlumno = new AlumnoUniversitario("José Díaz",23)


3.3 CREACIÓN DE CLASES EN JAVASCRIPT III.

Para ilustrar el trabajo con objetos y terminar con el ejemplo del AlunnoUniversitario, vamos a ver todo este proceso en un solo script en el que definiremos la clase y luego la utilizaremos un poquito. 

//definimos el método matricularte para la clase AlumnoUniversitario 

function matriculate(num_matricula){ 

 this.numMatricula = num_matricula 



//definimos el método imprimete para la clase AlumnoUniversitario 

function imprimete(){ 

 document.write("<br>Nombre: " + this.nombre) 

 document.write("<br>Edad: " + this.edad) 

 document.write("<br>Número de matrícula: " + this.numMatricula) 



//definimos el constructor para la clase 

function AlumnoUniversitario(nombre, edad){ 

 this.nombre = nombre 

 this.edad = edad 

 this.numMatricula = null 

 this.matriculate = matriculate 

 this.imprimete = imprimete 



//creamos un alumno 

miAlumno = new AlumnoUniversitario("José Díaz",23) 

//le pedimos que se imprima 

miAlumno.imprimete() 

//le pedimos que se matricule 

miAlumno.matriculate(305) 

//le pedimos que se imprima de nuevo (con el número de matricula relleno) 

miAlumno.imprimete() 

Si lo deseamos, podemos ver el script en funcionamiento en una página a parte. 




No hay comentarios:

Publicar un comentario