Klassen en objecten

Klassen en objecten

> LeekScript-zelfstudie

Welkom bij de documentatie over objectgeoriënteerd programmeren (OOP) die bestaat uit het maken van klassen en objecten om uw code te organiseren. Deze functie is toegevoegd vanuit LeekScript 2.

Voorwerpen

Objecten zijn waarden die verschillende waarden groeperen die elk aan een naam zijn gekoppeld. Deze waarden worden eigenschappen of velden genoemd.

Een object maken

Om een object te maken, gebruiken we de volgende syntaxis:

In dit voorbeeld heeft het object object twee eigenschappen, naam en leeftijd.

Een leeg object maken:

Toegang tot een woning

De punt . geeft toegang tot een eigenschap van een object:

Er bestaat een alternatieve syntaxis: object["prop"], waarmee een tekenreekswaarde kan worden gebruikt om toegang te krijgen tot een eigenschap:

Een eigenschap wijzigen

Eenmaal geopend, kan een eigenschap worden gewijzigd als een normale variabele:

Objectvergelijking

De operatoren == en === vergelijken alleen als het object hetzelfde is. Ze geven false terug, zelfs als de twee objecten dezelfde eigenschappen hebben:

NB: === is verouderd vanaf LeekScript 4.

Lijst met eigendommen

Klassen

Een klasse is een model voor het maken van objecten.

Een klasse definiëren

We definiëren een Weapon-klasse met de 4 velden die op deze manier worden genoemd:

Een object maken met een klasse

Het nieuwe is eigenlijk optioneel, een klasse is vergelijkbaar met een functie en kan direct worden aangeroepen om een object te maken:

U kunt de klasse van een object ophalen met behulp van .class:

exemplaar van

Het sleutelwoord instanceof wordt gebruikt om te controleren of een object een instantie van een klasse is:

Bouwers

Een constructor is een functie die is gedefinieerd in een klasse waarmee een object kan worden gemaakt op basis van een lijst met parameters. We definiëren een constructor als volgt:

Een constructeur gebruiken:

Methoden

Een methode is een functie die is gedefinieerd in een klasse en bruikbaar is op een object van deze klasse. We definiëren een methode als volgt:

We gebruiken een methode met de syntaxis:

De object["member"]-syntaxis werkt ook:

Het is niet aan te raden om het te gebruiken, het risico op het maken van een fout is vrij groot.

Overbelasten

Het is mogelijk om methoden te overbelasten door simpelweg het aantal parameters te wijzigen

Vervolgens kunt u de methode gebruiken met een of twee parameters naar keuze:

Nalatenschap

Het begrip overerving maakt het mogelijk om een hiërarchie van klassen te creëren. We gebruiken deze syntaxis met het sleutelwoord extends. We proberen een "basis" -klasse te declareren waaruit andere klassen kunnen worden gebouwd. Klassen die overerven ontvangen alle leden (variabelen) en methoden (functies) van de basisklasse en kunnen deze opnieuw definiëren of nieuwe toevoegen