Definiowanie oraz dostęp do nowych metod dla obiektu w locie - kontroler dynamic [AS 2]
Kontroler definiuję określona klasę, czy jej obiekty będą mogły przybierać nowe metody podczas uruchomienia skryptu (dynamiczna klasa), czy też nie.
Kontroler ten należy ustawic tuż przed nazwą class NazwaKlasy, czyli na samym początku definicji klasy.
Kompatybilność: Flash6+
Przykład:
//deklaracja dynamicznej klasy
dynamic class Osoba {
var imie:String;
var wiek:Number;
function Osoba(param_imie:String, param_wiek:Number) {
trace ("cokolwiek");
this.imie = param_imie;
this.wiek = param_wiek;
}
}
// zwróci wszystkie parametry obiektu adam, czyli: imie i wiek
var adam:Osoba = new Osoba("Adam", 20);
for (i in adam) {
trace("adam." + i + " = " + adam[i]);
}
/* zwróci:
adam.wiek = 20
adam.imie = Adam */
//tutaj dodajemy nową metodę dla obiektu (jeśli klasa by nie była dynamiczne, wtedy flash wygeneruje błąd)
adam.programista = true;
for (i in adam) {
trace("adam." + i + " = " + adam[i]);
}
/* zwróci:
adam.programista = true
adam.wiek = 20
adam.imie = Adam */
dynamic class Osoba {
var imie:String;
var wiek:Number;
function Osoba(param_imie:String, param_wiek:Number) {
trace ("cokolwiek");
this.imie = param_imie;
this.wiek = param_wiek;
}
}
// zwróci wszystkie parametry obiektu adam, czyli: imie i wiek
var adam:Osoba = new Osoba("Adam", 20);
for (i in adam) {
trace("adam." + i + " = " + adam[i]);
}
/* zwróci:
adam.wiek = 20
adam.imie = Adam */
//tutaj dodajemy nową metodę dla obiektu (jeśli klasa by nie była dynamiczne, wtedy flash wygeneruje błąd)
adam.programista = true;
for (i in adam) {
trace("adam." + i + " = " + adam[i]);
}
/* zwróci:
adam.programista = true
adam.wiek = 20
adam.imie = Adam */
Listing
niema
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno