Klasser og objekter

Klasser og objekter

> LeekScript vejledning

Velkommen til dokumentationen om objektorienteret programmering (OOP), som består i at oprette klasser og objekter til at organisere din kode. Denne funktion blev tilføjet fra LeekScript 2.

Objekter

Objekter er værdier, der grupperer flere værdier, der hver især er forbundet med et navn. Disse værdier kaldes egenskaber eller felter.

Oprettelse af et objekt

For at oprette et objekt bruger vi følgende syntaks:

I dette eksempel har objektet 'objekt' to egenskaber, 'navn' og 'alder'.

Sådan opretter du et tomt objekt:

Adgang til en ejendom

Prikken . giver adgang til en egenskab for et objekt:

Der findes en alternativ syntaks: object["prop"], der gør det muligt at bruge en strengværdi til at få adgang til en egenskab:

Ændring af en egenskab

Når først den er tilgået, kan en egenskab ændres som en normal variabel:

Objektsammenligning

Operatørerne == og === sammenligner kun, hvis objektet er det samme. De returnerer "false", selvom de to objekter har de samme egenskaber:

NB: === er forældet startende med LeekScript 4.

Liste over egenskaber

Klasser

En klasse er en model til at skabe objekter.

Definition af en klasse

Vi definerer en "våben" klasse med de 4 felter navngivet på denne måde:

Oprettelse af et objekt med en klasse

Den "nye" er faktisk valgfri, en klasse ligner en funktion og kan kaldes direkte for at skabe et objekt:

Du kan hente klassen af et objekt ved at bruge .class:

forekomst af

Nøgleordet "instanceof" bruges til at kontrollere, om et objekt er en forekomst af en klasse:

Bygherrer

En konstruktør er en funktion defineret i en klasse, der gør det muligt at oprette et objekt fra en liste af parametre. Vi definerer en konstruktør som denne:

Brug af en konstruktør:

Metoder

En metode er en funktion defineret i en klasse og anvendelig på et objekt i denne klasse. Vi definerer en metode som denne:

Vi bruger en metode med syntaksen:

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

Det er ikke tilrådeligt at bruge det, risikoen for at lave en fejl er ret stærk.

Overbelastning

Det er muligt at overbelaste metoder ved blot at ændre antallet af parametre

Du kan derefter bruge metoden med en eller to parametre efter eget valg:

Eftermæle

Begrebet arv gør det muligt at skabe et hierarki af klasser. Vi bruger denne syntaks med nøgleordet extends. Vi forsøger at erklære en "base" klasse, hvorfra andre klasser kan bygges. Klasser, der arver, modtager alle medlemmer (variabler) og metoder (funktioner) i basisklassen og kan omdefinere dem eller tilføje nye