OOP står för Object-oriented programming. OOP är ett sätt att programmera på som använder sig av objekt och andra fancy ord som vi ska lära oss här nu!
I denna kursen leker vi gud och ska skapa en massa olika saker i AS3 med OOP tänk.
Jag använder mig av Flashdevelop och Flex SDK:n i mina exempel och antar att ni gör det med! Detta är ABSOLUT inget krav!!!
Nu slänger vi oss in i detta och leker gud!!!
För det första, skapa ett nytt AS3 projekt som vi döper till ”AS3 OOP”.
Klasser
På första dagen skapade Gud klasserna!
En klass är själva ritningen till ett objekt. En klass definerar (berättar) hur ett objekt ska se ut, vad den innehåller och hur den ska bete sig.
Därför börjar vi med en klass som ska heta Däggdjur.
Skapa en ny fil som heter Daggdjur.as.
Skriv in följande kod:
Nu har vi skapat oss en klass. Lätt som en plätt ju!!!
Vi har alltså nu skapat vår ritning av ett däggdjur, vad den innehåller och vad den kan göra osv.
Om vi tittar på vår kod uppifrån så går vi igenom rad för rad:
package = Package är det paket som denna klassen ligger i. Så länge filerna ligger på root nivå kan vi ignorera denna så länge så tar vi det senare!
public class Daggdjur = Berättar att här kommer en klass som heter Daggdjur. Vi har satt en modifier (kommer till detta snart) som är public.
public function Daggdjur() = Konstruktorn. Nu kommer ännu ett nytt ord. Konstruktorn är den funktion som körs varje gång man skapar ett nytt objekt. Du vet alltså, 100% säkert, att denna funktionen kommer att köras före alla andra! Varje gång!
Då går vi vidare… STOPP STOPP STOPP! Vad är en modifier?
En modifier är ett keyword som används varje gång du skapar något i en klass. Det kan vara en funktion eller en variabel.
I vårt fall har vi en modifier på klassen (public class Daggdjur) och en på konstruktorn (public) function Daggdjur()).
En modifier säger helt enkelt vilka det är som får se och använda den här saken. Det finns 4 olika modifiers:
public = Alla kommer åt den och kan använda klassen
private = Bara klassen själv kommer åt denna, ingen utifrån når den!
protected = Vi väntar med denna!
internal = Och vi väntar med den med…
Eftersom vi har satt public på både konstruktorn och klassen kan alla skapa ett objekt av den här klassen.
Ni kommer förstå det här med modifiers mer snart!
Objekt
På den andra dagen skapade gud objekt!
Ett objekt är helt enkelt produkten av ritningen. Man kan skapa hur många objekt som helst av samma klass. Och ändrar man i klassen ändrar man på alla objekten samtidigt.
I våran Main.as byter vi ut all kod mot:
Så där ja! Nu går vi igenom denna koden:
import flash.display.Sprite; = Säger att vi kommer använda oss av klassen Sprite I vår kod, och den hämtas från flash.display. Import används varje gång vi ska använda en klass som inte ligger på root nivån. Eftersom Main.as och Daggdjur.as ligger i samma mapp (rooten) behöver vi inte importera den.
extends Sprite = Väntar vi med…
public function Main() = Konstruktorn, precis som konstruktorn i daggdjur!
var schtefan:Daggdjur = new Daggdjur(); = Här skapade vi ett nytt objekt av klasssen Daggdjur. Objektet heter ”schtefan”.
Om vi ville kunde vi skapa ett till objekt genom att skriva
Då har vi två objekt av samma klass. En heter schtefan och en heter schtefansHund.
Än så länge kan de inte göra något, men det ska vi ändra på nu!
Funktioner och variabler
Vi öppnar Daggdjur.as igen. Nu ska vi lägga till lite grejer på den här!
Det första vi ska göra är att lägga till den egenskap (property).
Egenskaper defineras med variabler, skrivs som var i AS3. Egenskapen lägger vi utanför konstruktorn och vi använder modifiern private för att skapa den.
Vi skapar en privat egenskap som heter ”_birthday”.
Vi gör den privat för att vi inte vill att någon utifrån ska kunna ändra på den.
Koden ser ut så här:
Som ni ser lade jag ett underscore framför namnet (_birthday). Detta är standard inom många programmerings språk, så väl inom AS3. Alla privata variabler bör defineras med ett underscore framför, för att tydligt visa att denna egenskapen är en privat egenskap och inte privat!
Detta är inte ett måste alls! Jag har lärt mig på detta sättet och anser att man bör följa det, men det är helt upp till dig!
I konstruktorn nu, funktionen som körs när ett objekt startar, spara vi nu ner datumet. På så sätt vet vi när de föddes!
Vi ska också skapa en public funktion, alltså en funktion som alla kan nå.
Vi kallar den för shoutOutYourBirthday och det enda den ska göra är att skicka ut sitt födelsedatum i trace loggen. Koden ser ut så här:
Nu kan vi kalla på denna funktionen från Main.as. Om vi gör det på schtefan objektet kommer det synas när han föddes i traceloggen.
Skriv detta i Main.as och testa filmen!
I din trace ska det nu stå, t.ex.:
Schtefan föddes:
Thu Apr 30 14:16:23 GMT+0200 2009
Det var början på denna kursen! Del 2 kommer prata mer om funktioner, variabler och något som heter Black Box theory!
Schpännande!!!
| < Föregående | Nästa > |
|---|














