lunes, mayo 29, 2006

JavaScript The Objec tWay

Estuve trabajando un poco con algunas cosas que estaban hechas con JavaScript, y tenia que introducir un pequeño cambio en algo que se suponía debería ser sencillo, afortunadamente no lo fue, y tuve que ponerme a refactorizar todo el código que estaba escrito en una forma totalmente procedural utilizando el nefasto estilo spaghetti.

Tarde o temprano iba a tener que meterle algo de mano a cosas hechas en JavaScript, y como esas que uno espera nunca tener que hacer, llego ese momento.

Recordé que una vez escuche que en JavaScript se podía llegar a trabajar en una forma bastante “objetosa” así que decidí ponerme a investigar un poco y encontré que efectivamente se puede y que además se pueden hacer cosas bastante interesantes que ni me imaginaba.

Por ejemplo, se pueden crear Clases y generar instancias de estas, se puede llegar a construir una herencia con un mecanismo que se llama prototipado:
Clases con JavaScript:

function Reporte() {
this.inicializar = function(e) {
window.alert("Esto es una prueba de prototipos con JS");
}

this.testTrue = function(e) {
return false;
}
}

function main() {
var aReporte = new Reporte();
aReporte.inicializar();
if(aReporte.testTrue()) {
window.alert("La validacion dio verdadera");
}
}

En el ejemplo se ve como se crea una Clase llamada Reporte, esta clase contiene una funcion llamara inicializar, que emite un mensaje y en la funcion main se ve como se usa la clase Reporte

Herencia con JavaScript

function superClass() {
this.supertest = superTest;
}

function subClass() {
this.inheritFrom = superClass;
this.inheritFrom();
this.subtest = subTest;
}

function superTest() {
return "superTest";
}

function subTest() {
return "subTest";
}

var newClass = new subClass();
alert(newClass.subtest());
alert(newClass.supertest());


Esto es un poco de lo que vi hoy, dejo algunos links que me sirvieron bastante.



No hay comentarios.: