Funkcja get()

in polish •  17 days ago 

Funkcja get() w GDScript, podobnie jak set(), służy do definiowania tzw. getterów, czyli funkcji, które zwracają wartość danej właściwości lub zmiennej. Pozwala to na kontrolowany dostęp do właściwości obiektu w trakcie jej odczytu. Zastosowanie tej funkcji pozwala na dodanie logiki przy pobieraniu wartości oraz na bardziej elastyczną obsługę zmiennych.

Jak działa get()?

Getter definiuje, co powinno się wydarzyć, kiedy zmienna jest odczytywana, a nie bezpośrednio manipulowana.

Przykład użycia get():

var _value: int = 10

func get_value():
return _value

var my_value: int setget set_value, get_value

W tym przykładzie:

  • get_value() jest funkcją, która działa jako getter. Kiedy wartość my_value jest odczytywana, automatycznie wywołuje się get_value(), która zwraca _value.

Zastosowanie w praktyce:

Getter może być połączony z setterem przy użyciu setget, co umożliwia pełną kontrolę nad tym, jak wartość zmiennej jest zarówno ustawiana, jak i pobierana:

var health: int setget set_health, get_health

func set_health(value):
health = clamp(value, 0, 100) # Ustawia wartość zdrowia między 0 a 100

func get_health():
return health

Tutaj getter get_health() zwraca bieżącą wartość zmiennej health, natomiast setter zapewnia, że zdrowie zawsze mieści się w przedziale 0–100.

Zastosowania:

  1. Ochrona danych: Umożliwia kontrolowany dostęp do danych, szczególnie gdy chcesz uniknąć niepoprawnych wartości.
  2. Optymalizacja logiki: Wprowadza dodatkową logikę podczas odczytu wartości, np. dynamiczne przeliczanie lub ładowanie danych z innych źródeł.
  3. Odseparowanie danych: Getter umożliwia odseparowanie danych wewnętrznych obiektu od jego interfejsu zewnętrznego.

Przykład getterów dla dynamicznych wartości:

var score: int = 0

func get_formatted_score():
return "Wynik: " + str(score)

Ten getter formatuje wynik na potrzeby interfejsu użytkownika za każdym razem, gdy jest odczytywany.

Funkcja get() w połączeniu z setget umożliwia wprowadzenie bardziej zaawansowanej logiki podczas pracy z właściwościami, co pozwala na elastyczne zarządzanie stanem obiektów w Godot.


Published using WordPress Blurt Publisher from https://godot.com.pl.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!