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