Comunidad de diseño web y desarrollo en internet online

Tutorial Programación orientada a objetos en ActionScript 2

Citar            
MensajeEscrito el 10 Abr 2007 11:56 pm
siguiendo este tutorial se me ha planteado una pregunta...y si las clases las queremos tener en una carpeta aparte llamada clases para mayor organizacion de toda la aplicacion que vayamos a crear...como tengo que llamar a esta clase desde el FLA?

agradeceria que escribierais la linea para ver como es porque con la ayuda de Flash no me queda claro

asi mismo me gustaria que me aclaraseis un poco mejor en que consiste una interface, porque la verdad no le veo mucha utilidad despues de haber leido el tutorial y que en que consiste un metodo estatico...es que hay mas tipos de metodos? cuales?

Graaaciaaas :love:

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Abr 2007 01:13 am

noctam escribió:

...como tengo que llamar a esta clase desde el FLA?:

Si la clase se llama miClase.as

Código :

import miClase;
var variable:miClase = new miClase();


noctam escribió:

...en que consiste una interface

Como dice el tutorial una interface es una declaración de propiedades y metodos.

Código :

interface interfaz {
   function fun1(var:String):Void;
   function fun2(var:String):Void;
}

Aqui defines que las clases que quieran externder de la interface "interfaz" han de tener obligatoriamente los metodos "fun1" y "fun2", si no dará erroral compilar.

Esto es un sistema de control para proyectos grandes en los que intervienen diferentes personas. El que dirige el proyecto diseña las interfaces definiendo los métodos que considere necesarios y el resto de programadores crean las clases ciñendose a los requisitos de la interface de la que deben extender.
Realmente si no vas a trabajar en proyectos realmente complejos, puedes olvidarte de que existen las interfaces...

noctam escribió:

en que consiste un metodo estatico...

los métodos estaticos son los que puedes llamarlos sin necesidad de instanciar la clase
ejemplo:

Código :

class miClase
    {
       public suma1(x, y)
       {
          return x + y;
       }
    
       public static suma2(x, y)
       {
          return x + y;
       }
    }

las dos funciones de la clase hacen lo mismo, pero la primera necesita una instancia de la clase:

Código :

import miClase;
var clase:miClase = new miClase();
var suma:Number = clase.Suma1(10, 5);

La segunda es estática con lo que podrías poner esto sólo:

Código :

var suma:Number = miClase.Suma2(10, 5);

noctam escribió:

...es que hay mas tipos de metodos? cuales?

Pues los NO-estáticos, evidentemente...

espero haberte aclarado algo... ^^

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 11 Abr 2007 10:52 am
gracias Zguilez me aclaraste bastante las dudas, excepto una:


noctam escribió:
...como tengo que llamar a esta clase desde el FLA?:

Si la clase se llama miClase.as

Código :

import miClase;
var variable:miClase = new miClase();



eso esta bien si la clase y el FLA estan en el mismo directorio, pero lo que yo quiero saber es como se importa la clase si esta en un directorio diferente, por ejemplo en una estructura como esta:


carpeta PROYECTO
- arcivho.FLA
- carpeta CLASES
- miClase.as


con esta estructura por poner un ejemplo, como se llamaria a la clase? y ya que estamos, como se llamaria a la clase si estuviera en uno o dos niveles anteriores en el arbol de directorios, con respecto al archivo.FLA?

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Abr 2007 11:07 am

carpeta PROYECTO
- arcivho.FLA
- carpeta CLASES
- miClase.as

Ha eso se le llama usar packages, (es decir: La clase miClase está dentro del package CLASES). Entonces has de colocar la ruta completa.

Código :

import CLASES.miClase
var variable:miClase = new miClase();

Código :

class CLASES.miClase
{
....
}

Si en un mismo package tuvieses más de una clase podría importalas todas con:

Código :

import CLASES.*

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 11 Abr 2007 11:09 am
Bueno tb hay otra cosilla que no entiendo muy bien, son los setters y getters o mejor dicho, cuando hay que usar una variable privada y una publica, si despues de todo se pueden modificar sus valores con los setters y getters que sentido tiene? me gustaria que me aclaraseis cuando debo utilizar unas y otras

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Abr 2007 11:29 am

noctam escribió:

Bueno tb hay otra cosilla que no entiendo muy bien, son los setters y getters o mejor dicho, cuando hay que usar una variable privada y una publica, si despues de todo se pueden modificar sus valores con los setters y getters que sentido tiene? me gustaria que me aclaraseis cuando debo utilizar unas y otras

Eso depende de ti. No hay ninguna necesidad de definirlas publicas o privadas, es solo un tema de organización... Yo personalmente las defino siempre todas privadas y utilizo setters y getters. Sobretodo en clases muy complejas te ayuda a ver a simple vista que es lo que estas modificando con funciones publicas.

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 11 Abr 2007 09:42 pm
sigo sin ver claro cuando conviene usar variables publicas y privadas, pero por lo menos veo que no tiene mucha relevancia y que no afecta al funcionamiento de la aplicacion

Gracias Zguillez

Por noctam

Claber

197 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.