Avatar billede Slettet bruger
31. juli 2006 - 16:19 Der er 14 kommentarer og
1 løsning

Underklasser med AS(2)

Hej eksperter!

Hvordan skaber man underklasser med AS?
Hvis jeg har et klasse, der hedder 'Klasse', og gerne vil give den et child ved navn 'Type'.

blomster:Vegetation = new Vegetation;
blomster.vintergækker:Blomst = new Blomst;

Er dette muligt?
Eller er der en smartere måde nemmere at indele objekter i katagorier på?
Avatar billede Slettet bruger
31. juli 2006 - 16:20 #1
UPS!

*
Hvordan skaber man underklasser med AS?
Hvis jeg har et klasse, der hedder 'Klasse', og gerne vil give den et child ved navn 'Type'.
*

Skulle være:

*
Hvordan skaber man underklasser med AS?
Hvis jeg har et klasse, der hedder 'Vegetation', og gerne vil give den et child ved navn 'Blomst' (og Træ og Busk osv.).
*

Undskyld!
Avatar billede barklund Nybegynder
31. juli 2006 - 16:28 #2
Man laver klasser ved at oprette klasserne i eksterne AS-filer. Og man laver underklasser ved at nedarve. For eksempel kan du have:

Vegetation.as:

class Vegetation {
    public function toString():String {
        return "jeg er vegetation";
    }
}

Blomst.as:

class Blomst extends Vegetation {
    public function toString():String {
        return "jeg er blomst";
    }
}

Så kan du lave:

var vintergæk:Blomst = new Blomst();

Og Blomst vil så have arvet egenskaberne fra Vegetation.

Men dit spørgsmål virker ikke som om, det er har noget med nedarvning/underklasser at gøre, da du vil give den en egenskab?

--
Morten Barklund
Avatar billede barklund Nybegynder
31. juli 2006 - 16:29 #3
Om du kan bruge det til kategorisering er noget helt tredje. Det kan du vel bare gøre med arrays alt efter, hvad du skal bruge det til.
Avatar billede Slettet bruger
31. juli 2006 - 16:50 #4
Ja, det var netop katagorisering, jeg mente.
Men jeg forsår ikke helt det nævnte "array-princip"...
Please explain yourself!
Avatar billede Slettet bruger
02. august 2006 - 08:43 #5
Hallo? Barklund?
Avatar billede mat Nybegynder
02. august 2006 - 09:25 #6
Antag at du har et spilscenarie hvor NPC'er er kategoriseret som "fjender" eller "venner", og disse kategoriseringer er dynamiske - hvordan vedligeholder du dette?

Du kan som Barklund nævner have et objekt, hvis opgave det er at opretteholde disse kategorier, altså eksempelvis rykke et objekt fra et array, der indeholder alle fjender til et der indeholder alle venner.
Dermed har du et array for hver kategorisering og metoderne til at manipulere med disse kategorier i et objekt (lad os kalde det en NPCRelationsManager)
Hvert NPC-objekt registrerer sig så evt hos dette objekt ved oprettelse med en initiel kategorisering (f.eks "neutral").

Du kan lade alle NPC objekter have en attribut der holder på deres relation til spillere.

Du kan kombinere dem, så du har en NPCManager har referencer til alle NPC'er (gennem en registrering), og kan returnere lister af kategorier eller blot kategorisere den enkeltes relation på bagrund af dennes attribut.

...agtigt

Men det er ikke (nødvendigvis) relateret til arv.

mvh mat
Avatar billede mat Nybegynder
02. august 2006 - 09:27 #7
ok det blev lidt hurtigt skrevet, men jeg håber meningen trænger igennem tågen af bogstaver?
Avatar billede barklund Nybegynder
02. august 2006 - 09:46 #8
hf2ke, igen, "kategorisering" er en meget løs betegnelse - jeg tænker, at skal vi kategorisere nogle vegetationer efter hvilken type de er, så kan man lave et array, der hedder "blomster" og et der hedder "buske" - men når der ikke kommer mere kontekst, kan jeg jo kun komme med helt overordnede forslag og ikke noget konkret.
Avatar billede Slettet bruger
03. august 2006 - 14:34 #9
Som:

---
class Blomst { };
class Busk { };
---
---
Vegatation = new Array(var mælkebøtte:Blomst = new Blomst, var enBusk:Busk = new Busk);
---

?
Avatar billede barklund Nybegynder
03. august 2006 - 15:04 #10
Lad os hellere lige køre abstraktionen lidt op og spørge om formålet? Hvorfor vil det kategorisere og hvordan forestiller du dig at du vil bruge denne kategorisering?
Avatar billede Slettet bruger
08. august 2006 - 12:33 #11
Det var faktisk bare for at gøre det lettere for mig selv at holde styr på tingene...
Men bare glem det.
Avatar billede Slettet bruger
08. august 2006 - 12:34 #12
Beklager, men jeg laver det bare på en anden måde.
Avatar billede barklund Nybegynder
08. august 2006 - 13:29 #13
Der er skam intet galt i at gøre det lettere for sig selv. Men så er det jo bedst at starte med, præcis hvad det er, der skal være lettere - i stedet for hvordan det kan gøres (uden at vide hvad). :)
Avatar billede Slettet bruger
10. august 2006 - 09:33 #14
Okaj, jeg prøver at være lidt mere specifik næste gang :D
Avatar billede barklund Nybegynder
10. august 2006 - 09:38 #15
Tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester