مراجعة - آلة حاسبة بسيطة
جزء من قسم البرمجة كائنية التوجّه في رحلة GDScript على Coddy. الدرس 8 من 65.
التحدي
متوسطاكتب الصنف Calculator في calculator.gd. يحتفظ بنتيجة متراكمة في الخاصية float المسماة result، وتبدأ قيمتها عند 0.0.
- تطبّق
add(number)وsubtract(number)وmultiply(number)وdivide(number)العملية علىresultباستخدامnumber، وتحفظ النتيجة الجديدة وتعيدها - عندما تتلقى
divide()القيمة0، تطبعError: Division by zero، وتُبقيresultدون تغيير وتعيدها - تُعيد
clear()قيمةresultإلى0.0وتعيدها - تعيد
get_result()قيمةresult
يقرأ الكود المرفق عدد الأوامر التالية، ثم أمرًا واحدًا في كل سطر، مثل add 5 أو divide 0 أو clear. بعد كل أمر، يطبع اسم الأمر والقيمة التي أعادتها الدالة، وفي النهاية يطبع النتيجة النهائية. عند تنفيذ add 5 وmultiply 3 وsubtract 2 وdivide 0 وdivide 2، يطبع:
add -> 5.0
multiply -> 15.0
subtract -> 13.0
Error: Division by zero
divide -> 13.0
divide -> 6.5
Final result: 6.5ضع الكود في calculator.gd. يحتوي main.gd على كود الإدخال/الإخراج المرفق، ولا يمكن تعديله.
جرّب بنفسك
extends Node
func _ready():
# شيفرة الإدخال/الإخراج المقدَّمة: أبقِها كما هي
var calc := Calculator.new()
var count := int(OS.read_string_from_stdin())
for i in count:
var parts := OS.read_string_from_stdin().split(" ")
var value := 0.0
match parts[0]:
"add":
value = calc.add(float(parts[1]))
"subtract":
value = calc.subtract(float(parts[1]))
"multiply":
value = calc.multiply(float(parts[1]))
"divide":
value = calc.divide(float(parts[1]))
"clear":
value = calc.clear()
print("%s -> %s" % [parts[0], value])
print("Final result: %s" % calc.get_result())
جميع دروس البرمجة كائنية التوجّه
1أساسيات البرمجة كائنية التوجه
الملفات الخارجيةمقدمة إلى البرمجة كائنية التوجهالفئات مقابل الكائناتالكلمة المفتاحية selfالأساليبالخصائصالمُنشئ (_init)مراجعة - آلة حاسبة بسيطة4تعدد الأشكال
إعادة النظر في تجاوز الأساليبكتابة الأنواع بأسلوب البطةالفئات والأساليب المجرّدةتصميم الواجهاتمراجعة - حاسبة الأشكال10أنماط التصميم، الجزء الثاني
نمط الأوامرنمط المحوّلنمط المُزيّننمط الطريقة القالبيةنمط الحالةالنمط المركّب2خصائص الأصناف
متغيرات الكائن مقابل المتغيرات الساكنةالدوال الساكنةمُعيِّنات الخصائصمُسترجِعات الخصائصخاص وفقًا للاتفاقيةمراجعة - مدير الحسابات البنكية5التغليف
الأعضاء العامة والخاصةالتحقق من الصحة باستخدام دوال الضبطإخفاء المعلوماتالخصائص للقراءة فقطمراجعة - نظام سجلات الطلاب8مفاهيم متقدمة في البرمجة كائنية التوجه
التركيب مقابل الوراثةالأصناف الداخليةالعُقد كمكوّناتRefCounted مقابل Nodeالتعدادات في الأصنافتدرّب بنفسك: مترجم GDScript عبر الإنترنت