Klasser og klassestruktur i Flash
Hej eksperter.Jeg har gennem noget tid prøvet at forstå OOP - og har for tiden gang i et online-spil, som jeg dø og pine VIL programmere ud fra min nyerhvervede viden på området.
I projektet har jeg en klasse, kaldet Maeglerspil (fil: Maeglerspil.as) - der ifølge mit tidlige dataflow-diagram har 3 børn, hhv. vis, køb og spil. Diagrammet kan ses på http://www.vandret.dk/diverse/dataflow.gif
hus- og person-objekterne har bl.a. en række attributter tilknyttet - personen: højde, vægt, m.m., huset: Adresse, By, Energitype osv.
Her kommer så en række spørgsmål:
(1) Skal alle "kasser" i diagrammet betragtes som egne klasser - dvs. at jeg skal oprette lige så mange klassenavn.as filer som der er kasser? Eller skal jeg måske blot lave 4 klassefiler og lægge koden på nederste niveau ind i metoder i hhv. klassedef'erne Maeglerspil, Vis, Koeb og Spil?
Måske skal jeg lægge AL kode ind i Maeglerspil.as - men det gør vel filen forbandet lang og uoverskuelig?
(2) Hvis jeg opretter et objekt af typen person, så skriver jeg i f.eks. FLA- eller en include-fil noget i retning af:
minperson = new maeglerspil.koeb.person(Number hvilkenperson); - ikke sandt? Og dette objekt bliver så oprettet på øverste niveau, som andre underklasser ikke har adgang til?
(3) Min VIS-kasse jf. diagrammet repræsenterer egentlig ikke klasser - men istedet scener, der f.eks. viser dit købte hus med din købte person udenfor - så skal den væk fra diagrammet?
Og i den pågældende scene skal jeg så måske skrive f.eks. if (maeglerspil.koeb.hus.By == "Århus") { trace("Du har valgt at se huset i"+maeglerspil.koeb.hus.By); } ?
(4) Kan nogen, ud fra disse sparsomme oplysninger, komme med et EKSEMPEL på en klassestruktur med underklasser - altså hvordan det rent syntaks-mæssigt skal skrues sammen?
(4) Eksisterer en form for venne-funktionalitet i Flash - således at en metode kan være ven med en anden klasse? Hej eksperter.
Jeg har gennem noget tid prøvet at forstå OOP - og har for tiden gang i et online-spil, som jeg dø og pine VIL programmere ud fra min nyerhvervede viden på området.
I projektet har jeg en klasse, kaldet Maeglerspil (fil: Maeglerspil.as) - der ifølge mit tidlige dataflow-diagram har 3 børn, hhv. vis, køb og spil. Diagrammet kan ses på http://www.vandret.dk/diverse/dataflow.gif
hus- og person-objekterne har bl.a. en række attributter tilknyttet - personen: højde, vægt, m.m., huset: Adresse, By, Energitype osv.
Her kommer så en række spørgsmål:
(1) Skal alle "kasser" i diagrammet betragtes som egne klasser - dvs. at jeg skal oprette lige så mange klassenavn.as filer som der er kasser? Eller skal jeg måske blot lave 4 klassefiler og lægge koden på nederste niveau ind i metoder i hhv. klassedef'erne Maeglerspil, Vis, Koeb og Spil?
Måske skal jeg lægge AL kode ind i Maeglerspil.as - men det gør vel filen forbandet lang og uoverskuelig?
(2) Hvis jeg opretter et objekt af typen person, så skriver jeg i f.eks. FLA- eller en include-fil noget i retning af:
minperson = new maeglerspil.koeb.person(Number hvilkenperson); - ikke sandt? Og dette objekt bliver så oprettet på øverste niveau, som andre underklasser ikke har adgang til?
(3) Min VIS-kasse jf. diagrammet repræsenterer egentlig ikke klasser - men istedet scener, der f.eks. viser dit købte hus med din købte person udenfor - så skal den væk fra diagrammet?
Og i den pågældende scene skal jeg så måske skrive f.eks. if (maeglerspil.koeb.hus.By == "Århus") { trace("Du har valgt at se et hus i byzone, nærmere betegnet "+maeglerspil.koeb.hus.By); } ?
(4) Kan nogen, ud fra disse sparsomme oplysninger, komme med et EKSEMPEL på en klassestruktur med underklasser - altså hvordan det rent syntaks-mæssigt skal skrues sammen? Evt. ud fra et andet design, som DU synes hensigtsmæssig.
(5) Eksisterer en form for venne-funktionalitet i Flash - således at en metode kan være ven med en anden klasse?
Tja, hermed smides en række bolde op - nogle mere diffuse end andre... :-)