Pereyrada Newsletters #1 Indice 1. Palabras del editor 2. ActionScript 3. Clases ________________________________________________________________________ 1. Palabras del editor ======================= Hoy enviamos el primer neswletter, la idea es que sea algo que no solo nos acerque novedades sino que podamos intercambiar experiencias ya que es una de las formas de crecer profesionalemente. Si bien "Pereyrada" se orienta al uso de Macromedia Flash es impensable usar este producto sin tener algunos conocimientos de html, php, asp, bases de datos, programación, etc.. De apoco y en la media que vayamos creciendo iremos incorporando comentarios sobre estos temas. Desde ya espero sugerencias, críticas y algún elogio sobre este material. Saludos A. Daniel Peryra. ________________________________________________________________________ 2. ActionScript (Operadores) =============== No voy a comenzar con la "historia de..." no, creo que debemos comenzar con algo asi, vamos a intentar siempre dar algo útil y práctico, personalmente estoy cansado de leer muchos libros y tutoriales que explican muy bien lo que hace o se puede hacer con un script, pero nunca dice como aplicarlo en un caso real. O si lo da, el caso es tan fantástico que nunca me toca... Asi que voy a tratar de explicar el actionsccript y dar un ejemplo medianamente real. Veamos el primer actionscript.... Algo que generalmente usamos es la suma y resta de variables, bien como restamos generalmente? Veamos un ejemplo: A = 3 B=B-2; El resultado aqui es 1. Curiosamente podes hacer lo mismo escribiendo: A = 3; B = --A; Esto también da como resultado 1. Pero también podemos escribir lo siguiente: A = 3 B = A--; y que obtenemos como resultado?, ni mas ni menos que un 3!. Cuando usamos --A decimos que es un operador "posterior" y cuando usamos A-- decimos que es un operador "anterior". Que raro, como es esto de que B = A-- es igual a 3.. para que usarlo, veamos que pasa con la suma. A = 3; B = ++A; Esto da como resultado 4... si ya se, el echo de poner el operador dos veces es el equivalente a sumar 1 o restar 1, verdad?. Ahora bien... A = 3; B = A++; Da como resultado 3... y dale con lo mismo! Bien veamos un ejemplo... Escribamos el siguiente actioscript: A=1; while(A++<10){ trace("El resultado es:"+A); } stop(); El resultado es un incremento de 1 en 1 a partir de 2 hasta el 10 Cambiemos A++ por ++A, nos queda el sugiente actionscript: A=1; while(++A<10){ trace("El resultado es:"+A); } stop(); El resultado es un incremento de 1 en 1 a partir del 2 pero hasta el 9. Sería interesante ver que pasa con el operador - (menos), pero eso te lo dejo a vos, animate a probarlo... ________________________________________________________________________ 3. Clases ========= Bien, puede ser que muchos de los que lean este newsletter no esten muy al tanto de la programación OOP o POO en castellano (Programación Orientada a Objetos). Digamos que es una metodología de diseño de software y un paradigma de programación que define los programas en términos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos) y comportamiento (procedimientos o métodos). La progragramación orientada a objetos expresa un programa como un conjunto de estos objetos, que se comunican entre ellos para realizar tareas. Aunque paresca un lío, es todo lo contrario, esto es para que se más facil de programar, mantener y reutilizar nuestro código. Hablemos un poco mas de OOP, para luego comenzar con clases en Flash... Si bien hay algunos puntos discordantes en este tema hay un consenso general en que las características siguientes son las mas importantes: * Abstracción: Cada objeto sirve como modelo de un "agente" abstracto que se puede realizar un trabajo, informar y cambiar su estado. Lo mas importante es que puede "comunicarse" con otros objetos sin revelar "cómo" lo hace. * Encapsulamiento: Algunos le dicen "ocultación de la información", esto nos asegura que los objteos no pueden cambiar el estado interno de otros objetos de manera inesperada, de echo, solamente los propios métodos internos del objeto pueden acceder a su estado. * Polimorfismo: Las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del referente. * Herencia: Organiza y facilita el polimorfismo y la encapsulación permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento. La programacion orientada a objetos intordujo nuevos conceptos, que en muchas ocaciones no son mas que nombres complicados asociados a conceptos antiguos, entre ellos estan: * Método: es un programa asociado a un objeto cuya ejecución se desencadena mendiante un "mensaje". * Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros. * Propiedad, atributo o variable: datos asociados a un objeto a una clase de objeto. Esta teoría es aplicable a c++, Java, Delphi, c#, ActionScript y Php entre otros. Un dato curioso, es que los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard del Centro de Cómputo Noruego en Oslo. Según cuenta la historia es que trabajaban en simulaciones de naves, y fueron confundidos por la explosión combinatoria de cómo las diversas cualidades de diversas naves podían afectar unas a las otras. La idea fué entonces agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamiento. ________________________________________________________________________ www.pereyrada.com.ar ©2005 Pereyrada