الملفات الخارجية
جزء من قسم البرمجة كائنية التوجّه في رحلة GDScript على Coddy. الدرس 1 من 65.
تُقسَّم البرامج الحقيقية إلى عدة ملفات. كل ملف .gd هو نص برمجي، ويمكن لنص برمجي استخدام نص برمجي آخر.
اكتب class_name في أعلى النص البرمجي لمنحه اسمًا عامًا. يمكن بعد ذلك لكل نص برمجي آخر في المشروع استخدام هذا الاسم مباشرةً، دون سطر استيراد:
# greeter.gd
class_name Greeter
extends RefCounted
static func greet(player_name: String) -> String:
return "Hello, " + player_name + "!"تجعل static func الدالة قابلة للاستدعاء باستخدام اسم البرنامج النصي، Greeter.greet("Ada"). أما extends RefCounted فهو الصنف الأساسي البسيط للبرامج النصية التي ليست عُقدًا؛ وتشرح الدروس التالية ذلك.
# main.gd
extends Node
func _ready():
print(Greeter.greet("Ada")) # Hello, Ada!لا يزال البرنامج يبدأ في _ready() في main.gd. الملفات الأخرى لا تفعل سوى تعريف الأشياء التي يستخدمها main.gd.
يسمّي Godot الملفات بصيغة snake_case وclass_name بصيغة PascalCase: يوجد class_name Greeter في الملف greeter.gd. خصّص ملفًا واحدًا لكل صنف.
يمكن تحميل سكربت بدون class_name باستخدام مساره عبر preload():
const Helpers = preload("res://helpers.gd")
func _ready():
print(Helpers.shout("hi")) # HI!التحدي
سهلاكتب الدالة الثابتة greet في greeter.gd. تأخذ اسم لاعب وتُرجع Hello, NAME!. عندما يكون الاسم فارغًا، تُرجع Hello, friend!.
يقرأ الكود المزوَّد عدد الأسماء التالية، ثم يطبع Greeter.greet() لكل اسم. بالنسبة إلى الاسمين Ada وسطر فارغ، يطبع:
Hello, Ada!
Hello, friend!ضع كودك في greeter.gd. يحتوي main.gd على كود الإدخال/الإخراج المزوَّد، ولا يمكن تعديله.
جرّب بنفسك
extends Node
func _ready():
# كود الإدخال/الإخراج المقدَّم: اتركه كما هو
var count := int(OS.read_string_from_stdin())
for i in count:
print(Greeter.greet(OS.read_string_from_stdin()))
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البرمجة كائنية التوجّه
1أساسيات البرمجة كائنية التوجه
الملفات الخارجيةمقدمة إلى البرمجة كائنية التوجهالفئات مقابل الكائناتالكلمة المفتاحية selfالأساليبالخصائصالمُنشئ (_init)مراجعة - آلة حاسبة بسيطة4تعدد الأشكال
إعادة النظر في تجاوز الأساليبكتابة الأنواع بأسلوب البطةالفئات والأساليب المجرّدةتصميم الواجهاتمراجعة - حاسبة الأشكال10أنماط التصميم، الجزء الثاني
نمط الأوامرنمط المحوّلنمط المُزيّننمط الطريقة القالبيةنمط الحالةالنمط المركّب2خصائص الأصناف
متغيرات الكائن مقابل المتغيرات الساكنةالدوال الساكنةمُعيِّنات الخصائصمُسترجِعات الخصائصخاص وفقًا للاتفاقيةمراجعة - مدير الحسابات البنكية5التغليف
الأعضاء العامة والخاصةالتحقق من الصحة باستخدام دوال الضبطإخفاء المعلوماتالخصائص للقراءة فقطمراجعة - نظام سجلات الطلاب8مفاهيم متقدمة في البرمجة كائنية التوجه
التركيب مقابل الوراثةالأصناف الداخليةالعُقد كمكوّناتRefCounted مقابل Nodeالتعدادات في الأصنافتدرّب بنفسك: مترجم GDScript عبر الإنترنت