![]() ![]() ![]() ![]() ![]()
Martin Hozík |
Objekty - úvodObjekt je element sloužící k získání nějakých informací nebo k nastavení nějakých vlastností. Například objekt Date() obsahuje informace o aktuálním čase a datumu. Drtivá většina přednastavených objektů ve Flashi má své metody (methods). Jsou to vlastní funkce definované objektu.Například metoda getMonth() vytáhne z objektu Date() číslo aktuálního měsíce. Metoda getMilisecond() zase získá počet milisekund, atd... Většina objektů má svůj konstruktor. To je funkce, která vytvoří objekt. Můžeme si to představit jako funkci, která vytvoří instanci přednastaveného objektu v naší animaci. Abychom tedy mohli pracovat s naším objektem Date(), je nutné jej nejprve vytvořit pomocí konstruktoru new: datum = new Date(); hodiny = datum.getHours(); minuty = datum.getMinutes(); sekundy = datum.getSeconds(); milisekundy = datum.getMiliseconds(); Zde je tedy vytvořen objekt typu Date() s názvem "datum". Dále jsou definovány proměnné "hodiny", "minuty",...atd jako metody objektu "datum". Kromě metod může mít objekt i vlastnosti. Například objekt Sound() zvuk = new Sound(); zvuk.attachSound("potlesk"); zvuk.start(); delkazvuku = zvuk.duration; Zde je vytvořen objekt Sound() s názvem "zvuk" a je mu přidělen zvuk z knihovny s názvem "potlesk". Následuje metoda start() která spustí zvuk. Nakonec je vlastnost duration (délka) uložena do proměnné "delkazvuku".
Říkal jsem, že většina objektů má konstruktor. Některé ho ale nemají. Bývají to většinou "hmotné" objekty (Button, MovieClip, TextField,...). Tyto objekty jsou již vlastně vytvořeny tím, že je umístíme na scénu a pojmenujeme. Naopak imaginární objekty (Date, Sound, Color, Array) existují jen v kódové podobě a je tedy nutné je vytvořit pomocí konstruktoru. Například objekt Button tlacitko1.enabled = false; Tento zápis edituje vlastnost enabled na nepravda. Tlačítko s názvem "tlacitko1" tedy nepůjde zmáčknout. Povšimněte si, že není nutné použít konstruktor - tlačítko už existuje na scéně. Vlastní objektKromě předdefinovaných objektů je možné vytvořit i vlastní objekt. Nejprve je nutné vytvořit Konstruktor objektu. Není to nic víc, než obyčejná funkce, jejíž název je shodný s názvem objektu, který bude vytvářet, takže například: function Kruh() { this.addProperty("polomer",getRadius, setRadius); function getRadius() { return radius; } function setRadius(hodnota) { radius = hodnota; } this.getArea = function() { area = Math.PI * radius * radius; return area; } } Zde je definována konstrukční funkce Kruh(). Uvnitř je nejprve definována vlastnost "polomer". K této vlastnosti musí být připojeny 2 funkce. Jedna (getRadius) získává hodnotu vlastnosti a druhá (setRadius) vlastnost nastavuje. Funkce getRadius() pouze vrátí hodnotu proměnné "radius". Funkce setRadius() nastaví hodnotu proměnné "radius" na hodnotu argumentu "hodnota".
Nakonec ještě definujeme metodu, která bude vracet obsah kruhu. Metodu můžete definovat pomocí příkazu Actions->User-Defined Function->method
Uvnitř metody je definována proměnná area jako obsah kruhu (PI*radius2).
Hodnotu této proměnné potom metoda vrací (return) Máme tedy vytvořený konstruktor a nyní můžeme vytvořit samotný objekt: prvni = new Kruh(); prvni.polomer = 35; vysledek = prvni.getArea(); V prvním řádku je vytvořen objekt Kruh() s názvem "prvni"
Ve druhém řádku je definována vlastnost "polomer" jako 35. Ve
třetím řádku je deklarována proměnná "výsledek" jako výstup metody
getArea().
Proměnná "výsledek" bude rovna 3848,45
pozn.: Metodu je také možné definovat vně objektu. Potom je nutné použít tuto syntaxi: Kruh.prototype.getArea = function() { area = Math.PI * radius * radius; return area; } prototype" je konstrukční vlastnost každé vytvořené funkce. Všechny metody a vlastnosti adresované prototype přejdou po vytvoření objektu do vlastnosti "_proto_" Každá volaná vlastnost a metoda objektu je potom hledána v objektu _proto_.
Popis předdefinovaných objektůPro popis všech předdefinovaných objektů s jejich metodami a vlastnostmi
prosím navštivte následující kapitoly:
|
![]() |
![]() |