lunes, 4 de abril de 2011

Clases y Objetos

Imaginen que están construyendo un avión totalmente nuevo. ¿Que proceso debieran seguir?. Antes de dirigirse a la ferretería a comprar tornillos deberían de hacer algunas cosas extras ¿o no?. Primero hay que dibujar un plano del nuevo avión, y uno por cada pieza del avión (ruedas, alas, motores, etc.). Cada plano debe de describir conceptualmente cada parte y corresponder a una parte actual en la encarnación física de nuestro avión. Para construir el avión, cada pieza se fabrica individualmente y después todas las piezas se ensamblan tal y como lo especifica el plano maestro y el comportamiento de todas las piezas en conjunto será lo que de a nuestro avión la capacidad de volar.

Si todo esto te suena lógico, entonces ya tienes lo que más importa en la programación de ActionScript (y en cualquier lenguaje OOP). Así como un aeroplano que surca los cielos es un conjunto de partes que cooperan entre si mismas siguiendo el diseño de un conjunto de planos, un programa es un grupo de OBJETOS que cooperan entre sí, basados en un conjunto de CLASES.   los objetos de ActionScript representan tanto los objetos tangibles como los conceptos intangibles de un programa. Por ejemplo: un objeto puede representar un número en un cálculo, un botón oprimible en una interfaz de usuario, un punto en el tiempo de un calendario o el efecto de difuminado de una imagen. Los objetos son encarnaciones (instancias) de sus respectivas clases. Las clases son los planos en los que se basan los objetos.

El primer paso para escribir un programa es determinar sus clases. Cada clase describe, en código, las características y comportamiento de un TIPO particular de objeto. Algunas clases deben ser escritas desde la nada, mientras que otras ya son proporcionadas por ActionScript y los diferentes Entornos de Ejecución Flash. Las clases escritas de la nada, conocidas cono clases personalizadas, son usadas para producir ciertos tipos de contenido especializado, como lo sería una orden de compra para una aplicación de ventas electrónicas, un auto en un juego de carreras o un mensaje en una aplicación de chat. Por el contrario, las clases proveídas por ActionScript y los diversos entornos de desarrollo (conocidas como clases incorporadas), son usadas para realizar tareas fundamentales como lo son  el crear números y texto, reproducir sonidos, mostrar imágenes, accesar a la red y responder a maniobras del usuario.

De las clases en un programa, creamos (instanciamos) objetos, después les decimos lo que tienen que hacer, con lo cual determinamos el comportamiento de todo el programa.

Construir un programa utilizando clases y objetos es lo que llamamos Programación Orientada a Objetos (OOP).

En el próximo post comenzaremos con la construcción de un verdadero programa, pero antes de hacerlo vamos a dar una ligera mirada a un importante grupo de clases, conocidas como CLASES NATIVAS, las cuales están construidas directamente dentro de ActionScript.

Las clases nativas que podemos ver en la siguiente tabla son usadas para manipular tipos básicos de información, como números y texto. Tengan por seguro que en sus programas usaran almenos una de estas clases, sin importar el tipo de programa que estén realizando. Consideren a estas clases como piezas prefabricadas, como las tuercas, tornillos y remaches de su avión que compran ya hechas a otro fabricante.


Sin más retraso aquí está la tabla:



Clases Nativas en ActionScript


Clase

Descripción

string

Representa datos Textuales (p.e. cadenas de carácteres)

Boolean

Representa a los estados lógicos verdadero (true) y falso (false)

Number

Representa números de punto flotante (números con un valor fraccionario)

int

Representa números enteros (que no tienen fracciones)

uint

Representa números enteros de valor positivo

Array

Representa una lista ordenada

Error

Representa un error del programa

Date

Representa un punto específico en el tiempo.

Math

Representa valores y operaciones matemáticas comunes.

RegExp

Define herramientas para buscar y reemplazar texto.

Function

Representa un juego de instrucciones reusables que pueden ser ejecutadas, o llamadas, repetivamente

Object

Define las características básicas de cada objeto en ActionScript

La próxima comenzaremos a crear un programa diseñado por Colin Moock para facilitar el aprendizaje de ActioScript. Se trata de un zoológico virtual.

Usando la técnica conocida como Scripting sobre línea de tiempo en la herramienta de autoría Flash, es posible crear un programa de ActionScript sin haber creado primero ninguna clase. Sin embargo, incluso si no quieres crear tus propias clases, deberías estudiar las técnicas presentadas en este blog. El entender como las clases son creadas te ayudará a adentrarte en ActionScript y en general te convertirá en mejor programador o programadora.