Klasy i obiekty

Klasy i obiekty

> LeekScript samouczek

Witamy w dokumentacji dotyczącej programowania obiektowego (OOP), która polega na tworzeniu klas i obiektów w celu uporządkowania kodu. Ta funkcja została dodana z LeekScript 2.

Obiekty

Obiekty to wartości grupujące kilka wartości, z których każda jest powiązana z nazwą. Te wartości nazywane są właściwościami lub polami.

Tworzenie obiektu

Aby utworzyć obiekt, używamy następującej składni:

W tym przykładzie obiekt obiekt ma dwie właściwości, nazwa i wiek.

Aby utworzyć pusty obiekt:

Dostęp do nieruchomości

Kropka . umożliwia dostęp do właściwości obiektu:

Istnieje alternatywna składnia: object["prop"], pozwalająca na użycie wartości łańcuchowej w celu uzyskania dostępu do właściwości:

Modyfikowanie właściwości

Po uzyskaniu dostępu właściwość można modyfikować jak zwykłą zmienną:

Porównanie obiektów

Operatory == i === porównują tylko wtedy, gdy obiekt jest taki sam. Zwracają wartość „false”, nawet jeśli oba obiekty mają te same właściwości:

Uwaga: === jest przestarzałe począwszy od LeekScript 4.

Lista właściwości

Klasy

Klasa jest modelem tworzenia obiektów.

Definiowanie klasy

Definiujemy klasę Broń z 4 polami nazwanymi w ten sposób:

Tworzenie obiektu z klasą

„Nowy” jest w rzeczywistości opcjonalny, klasa jest podobna do funkcji i można ją wywołać bezpośrednio w celu utworzenia obiektu:

Możesz pobrać klasę obiektu za pomocą .class:

wystąpienie

Słowo kluczowe instanceof służy do sprawdzenia, czy obiekt jest instancją klasy:

Konstruktorzy

Konstruktor to funkcja zdefiniowana w klasie, pozwalająca na utworzenie obiektu z listy parametrów. Konstruktor definiujemy w następujący sposób:

Używając konstruktora:

Metody

Metoda jest funkcją zdefiniowaną w klasie i używaną na obiekcie tej klasy. Definiujemy taką metodę:

Używamy metody o składni:

Działa również składnia object["member"]:

Nie zaleca się jej używania, ryzyko popełnienia błędu jest dość duże.

Przeciążenie

Możliwe jest przeciążanie metod przez prostą zmianę liczby parametrów

Następnie możesz użyć metody z jednym lub dwoma wybranymi parametrami:

Dziedzictwo

Pojęcie dziedziczenia umożliwia tworzenie hierarchii klas. Używamy tej składni ze słowem kluczowym extends. Próbujemy zadeklarować klasę „bazową”, z której można zbudować inne klasy. Klasy, które dziedziczą, otrzymują wszystkie składowe (zmienne) i metody (funkcje) klasy bazowej i mogą je przedefiniować lub dodać nowe