Files
godot-docs-l10n/classes/ru/class_weakref.rst

57 lines
3.9 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_WeakRef:
WeakRef
=======
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Содержит :ref:`Object<class_Object>`. Если объект имеет значение :ref:`RefCounted<class_RefCounted>`, он не обновляет счетчик ссылок.
.. rst-class:: classref-introduction-group
Описание
----------------
Weakref может содержать :ref:`RefCounted<class_RefCounted>`, не внося вклад в счетчик ссылок. Weakref может быть создана из :ref:`Object<class_Object>` с помощью :ref:`@GlobalScope.weakref()<class_@GlobalScope_method_weakref>`. Если этот объект не является ссылкой, weakref все равно работает, однако она не оказывает никакого влияния на объект. Weakref полезны в случаях, когда несколько классов имеют переменные, ссылающиеся друг на друга. Без weakref использование этих классов может привести к утечкам памяти, поскольку обе ссылки не дают друг другу освободиться. Превращение части переменных в weakref может предотвратить эту циклическую зависимость и позволяет освободить ссылки.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------------+------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_ref<class_WeakRef_method_get_ref>`\ (\ ) |const| |
+-------------------------------+------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_WeakRef_method_get_ref:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_ref**\ (\ ) |const| :ref:`🔗<class_WeakRef_method_get_ref>`
Возвращает :ref:`Object<class_Object>`, на который ссылается этот weakref. Возвращает ``null``, если этот объект больше не существует.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`