Klasser og objekter

Klasser og objekter

> LeekScript-veiledning

Velkommen til dokumentasjonen om objektorientert programmering (OOP) som består av å lage klasser og objekter for å organisere koden din. Denne funksjonen ble lagt til fra LeekScript 2.

Objekter

Objekter er verdier som grupperer flere verdier som hver er knyttet til et navn. Disse verdiene kalles egenskaper eller felt.

Opprette et objekt

For å lage et objekt bruker vi følgende syntaks:

I dette eksemplet har objektet "objekt" to egenskaper, "navn" og "alder".

Slik oppretter du et tomt objekt:

Tilgang til en eiendom

Prikken . gir tilgang til en egenskap for et objekt:

Det finnes en alternativ syntaks: object["prop"], som lar deg bruke en strengverdi for å få tilgang til en egenskap:

Endre en egenskap

Når den er åpnet, kan en egenskap endres som en normal variabel:

Objektsammenligning

Operatorene == og === sammenligner bare hvis objektet er det samme. De returnerer "false" selv om de to objektene har de samme egenskapene:

NB: === er utdatert fra og med LeekScript 4.

Liste over eiendommer

Klasser

En klasse er en modell for å lage objekter.

Definere en klasse

Vi definerer en "våpen"-klasse med de 4 feltene som heter på denne måten:

Opprette et objekt med en klasse

Den "nye" er faktisk valgfri, en klasse ligner på en funksjon og kan kalles direkte for å lage et objekt:

Du kan hente klassen til et objekt ved å bruke .class:

tilfelle av

Nøkkelordet "instanceof" brukes til å sjekke om et objekt er en forekomst av en klasse:

Byggherrer

En konstruktør er en funksjon definert i en klasse som tillater å lage et objekt fra en liste med parametere. Vi definerer en konstruktør slik:

Bruke en konstruktør:

Metoder

En metode er en funksjon definert i en klasse og brukbar på et objekt i denne klassen. Vi definerer en metode som denne:

Vi bruker en metode med syntaksen:

objekt["medlem"]-syntaksen fungerer også:

Det er ikke tilrådelig å bruke det, risikoen for å gjøre feil er ganske sterk.

Overbelastning

Det er mulig å overbelaste metoder ved ganske enkelt å endre antall parametere

Du kan deretter bruke metoden med en eller to parametere du velger:

Legacy

Forestillingen om arv gjør det mulig å lage et hierarki av klasser. Vi bruker denne syntaksen med «extends»-nøkkelordet. Vi prøver å erklære en "base" klasse som andre klasser kan bygges fra. Klasser som arver mottar alle medlemmene (variabler) og metoder (funksjoner) i basisklassen, og kan omdefinere dem, eller legge til nye.