Creación de objetos y métodos públicos Más videos
Descripción del tema
//Se crea un objeto
var obj = new Object();
//se crea una
obj.color = 0xffffff; //Número hexadecimal ~>16777215
obj.click = function(){
//Podemos acceder a la propiedad color
console.debug(this.color);
}
//se llama al método click
obj.click();
//Se crea un objecto
var obj = {
//Se crea una propiedad color
color: 0xffffff,
//Este método pertenece al objeto obj
click: function(){
//Por lo tanto podemos acceder a la propiedad color
console.debug(this.color);
}
}
//Ejecutamos el método click
obj.click();
En el ejemplo anterior se muestra como es posible crear objetos de dos maneras diferentes dándonos la libertad de elegir la que más nos convenga. Es importante mencionar que no podemos crear nuevos objetos a través de los objetos anteriores.
Creación de objetos
En JavaScript no existe el concepto de “clase” por lo tanto creamos y heredamos objetos de otros objetos, este concepto lleva por nombre “Herencia de prototipo”. En JavaScript podemos instanciar una función que es utilizada como el constructor del objeto, recordemos que las funciones son objetos también, veamos el siguiente ejemplo://Una función Person (Objeto)
function Person(name,lastName){
//Guarda el nombre y apellido en el contexto
this.name = name;
this.lastName = lastName;
}
//Se crea una instancia de la función (Objeto) Person
var john = new Person("John","Doe");
//Se imprime el nombre y apellido
console.debug(john.name+" "+john.lastName);
//es una instancia del objeto Person
console.debug(john.constructor == Person);
En la última línea del ejemplo anterior se muestra la propiedad “constructor”, esta propiedad está presente en todos los objetos y siempre apunta a la función con la cual el objeto fue creado.
Métodos públicos
Los métodos públicos son completamente accesibles para las personas que utilizarán nuestro código y permite la comunicación del objeto con el exterior compartiendo o recibiendo información. Para realizar esto es necesario comprender la propiedad “prototype”, la cual es un objeto que actúa como referencia base para todas las copias que se realizarán de su padre, en otras palabras todas las propiedades y métodos que contenga la propiedad “prototype” estarán disponibles en cada instancia del objeto definido. La propiedad “prototype” es un objeto por lo tanto para agregarle propiedades lo hacemos de la misma forma que cualquier otro objeto, las propiedades agregadas serán totalmente públicas y accesibles para todos. Veamos el siguiente ejemplo://Objeto Animal
var Animal = function(name){
this.name = name;
}
//Agregar un método público al objeto Animal
Animal.prototype.getName = function(){
//El contexto es de la instancia creada
return this.name;
}
//Método público
Animal.prototype.setName = function(name){
//cambiar el valor de la propiedad name
this.name = name;
}
//Creamos una instancia de perro y gato
var dog = new Animal("Lucky");
var cat = new Animal("Milo");
//Llamamos al método getName
console.debug(dog.getName());
Conclusiones
Crear instancias, propiedades y métodos públicos es un tema conocido para muchos desarrolladores, quizás para otros no, en el siguiente tema veremos como ocultar propiedades y métodos haciéndolos privados. Si hay alguna duda, crítica o sugerencia pueden hacerla en los comentarios, nos gusta recibir sus opiniones.Te gustaría recibir más tutoriales como este en tu correo?
Este tutorial pertenece al curso Aprendiendo Ext JS 3, te recomiendo revises el resto de los tutoriales ya que están en secuencia de menor a mayor complejidad.
Si deseas recibir más tutoriales como este en tu correo te recomiendo registrarte al curso, si ya eres miembro solo identifícate y registrate al curso, si no eres miembro te puedes registrar gratuitamente!
Si no gustas registrarte en este momento no es necesario! Aún así puedes recibir los nuevos tutoriales en tu correo! Jamás te enviaremos Spam y puedes cancelar tu suscripción en cualquier momento.
Regístrate a este curso
Este tutorial pertenece al curso Aprendiendo Ext JS 3, revisa todos los tutoriales que tenemos en este mismo curso ya que están en secuencia y van de lo más sencillo a lo más complicado.
Tendrás acceso a descargar los videos, códigos y material adicional.
Podrás resolver los ejercicios incluidos en el curso así como los Quizzes.
Llevarás un registro de tu avance.


1Comentario
Un saludo Crysfel