Vi har snakket om de enkel (fundamentale) datatypene
og de sammensatte datatypene
Array: Tabell med verdier som kan tilordnes og hentes ved hjelp av en indeks-nummerering fra 0 og oppover
Klasse: I objektorienterte språk har vi i tillegg i objektorienterte og nyere programmeringsspråk begrepet klasse, en datatype vi kan sette sammen selv og som til forskjell fra Array kan inneholde forskjellige andre datatyper og metoder/funksjoner.
package {public class Person {private var navn: String="Ole"; private var alder: int= 12;public function Person(navn:String,alder:int) { this.navn=navn; this.alder=alder; }//Personpublic function okAlder():void { alder++; }//okAlder() }//class}//package
Her har vi deklarert en datatype som inneholder egenskapene (property) navn og alder og metodene Person() og okAlder().
Metoden med samme navn som klassen, Person, er en såkalt konstruktør som brukes til å initialisere/sette opp variabelen (objektet) som skal ha denne datatypen når de deklareres:
var p: Person = new Person("Kari", 13);
Denne instruksjonslinjen oppretter et objekt med datatypen Person som initialiseres til å hete Kari og ha alderen 13.
Senere kan man øke alderen med:
p.okAlder();
Med henblikk på læreplanmålet om "Planlegging og dokumentasjon" illustrerer jeg hvordan en slik klasse kan dokumenteres skriftlig i det såkalte dokumentasjonsspråket UML :
Dette viser at klassen har private (-) egenskaper navn og alder og
public (+) metodene Person(...) og okAlder().
Dette viser hvordan klassen kan brukes, uten at man trenger å vite hvordan den er laget eller ser ut inni ("black box")!
Vi kan lage en slik, legge i egen fil, og andre kan bruke den, bare vi har gitt dem UML-diagrammet over.
Slik lages programmer i praksis, forskjellige programmerere lager forskjellige deler av systemet, og dokumenterer det de har laget med for eksempel UML-diagrammer.
Vi har tidligere brukt mange klasser i Flash og ActionScript systemet:
Faktisk er Number, Boolean og Array klasser, de inneholder
andre ting enn det vi ligger inn.
Eksempelvis er Number-objektet slik:
og Array-objektet slik: (ikke alt er tatt med)
Komponenten TextField i brukergrensesnittet: (Mye er utelatt her...)
String er et interessant objekt som har mange egenskaper og metoder:
length: Antall tegn
charAt(pos:Number):String Returnerer bokstaven på plassen pos indexOf(s:String): int Returnerer plasseringen av s strengen lastIndexOf(s:String,start:int):int Returnerer den siste plasseringen (hvis flere ganger) slice(start,end:int):String Returnerer strengen som starter i posisjon start og slutter i posisjon end split(skille:String): Array of String Deler strengen der skille forekommer substr(start,lengde:int):String Returnerer streng som starter i posisjon starrt og har lengde lengde substring(start,end:int):String Som slice