نظرة عامة على المشروع
جزء من قسم البرمجة كائنية التوجّه في رحلة GDScript على Coddy. الدرس 56 من 65.
التحدي
متوسطفي هذا المشروع، ستبني نظام إدارة مكتبة على ست خطوات: مكتبة، وكتب ومستخدمون، واستعارة، وبحث، وإحصاءات، وإرجاع. تبدأ كل خطوة من ملفاتك في الخطوة السابقة.
تنشئ هذه الخطوة الصنف Library في library.gd. يعلن ملف البداية بالفعل عن خصائصه الثلاث:
library_name: اسم المكتبةbooksوusers: مصفوفتان من النوعArray[String]تبدآن فارغتين. تحتويان حاليًا على العناوين وأسماء المستخدمين.
أكمل الدالتين:
- يخزّن المُنشئ
_init(library_name)الاسم في الخاصيةlibrary_name. - تعيد الدالة
_to_string()القيمةNAME Library (books: N, users: M)، حيث يمثّلNوMحجمي المصفوفتين.
تقرأ الشيفرة المرفقة اسم المكتبة من السطر الأول، ثم تقرأ أمرًا واحدًا في كل سطر: يضيف الأمران book TITLE وuser NAME القيم إلى المصفوفتين، ويطبع الأمر info الخصائص الثلاث، بينما يطبع الأمر show المكتبة. بالنسبة إلى هذا الإدخال:
Community
info
book Dune
user Ada
showيكون الناتج:
Name: Community
Books: 0
Users: 0
Community Library (books: 1, users: 1)ضع شيفرتك في library.gd. يحتوي main.gd على شيفرة الإدخال والإخراج المرفقة ولا يمكن تعديله.
جرّب بنفسك
extends Node
func _ready():
# كود الإدخال/الإخراج المقدَّم: اتركه كما هو
var library := Library.new(OS.read_string_from_stdin())
var line := OS.read_string_from_stdin()
while line != "":
var parts := line.split(" ", true, 1)
match parts[0]:
"book":
library.books.append(parts[1])
"user":
library.users.append(parts[1])
"info":
print("Name: ", library.library_name)
print("Books: ", library.books.size())
print("Users: ", library.users.size())
"show":
print(library)
line = OS.read_string_from_stdin()
جميع دروس البرمجة كائنية التوجّه
1أساسيات البرمجة كائنية التوجه
الملفات الخارجيةمقدمة إلى البرمجة كائنية التوجهالفئات مقابل الكائناتالكلمة المفتاحية selfالأساليبالخصائصالمُنشئ (_init)مراجعة - آلة حاسبة بسيطة4تعدد الأشكال
إعادة النظر في تجاوز الأساليبكتابة الأنواع بأسلوب البطةالفئات والأساليب المجرّدةتصميم الواجهاتمراجعة - حاسبة الأشكال10أنماط التصميم، الجزء الثاني
نمط الأوامرنمط المحوّلنمط المُزيّننمط الطريقة القالبيةنمط الحالةالنمط المركّب2خصائص الأصناف
متغيرات الكائن مقابل المتغيرات الساكنةالدوال الساكنةمُعيِّنات الخصائصمُسترجِعات الخصائصخاص وفقًا للاتفاقيةمراجعة - مدير الحسابات البنكية5التغليف
الأعضاء العامة والخاصةالتحقق من الصحة باستخدام دوال الضبطإخفاء المعلوماتالخصائص للقراءة فقطمراجعة - نظام سجلات الطلاب8مفاهيم متقدمة في البرمجة كائنية التوجه
التركيب مقابل الوراثةالأصناف الداخليةالعُقد كمكوّناتRefCounted مقابل Nodeالتعدادات في الأصناف11المشروع: إدارة المكتبة
نظرة عامة على المشروعفئتا الكتب والمستخدمينتدرّب بنفسك: مترجم GDScript عبر الإنترنت