Methods
جزء من قسم البرمجة كائنية التوجه في رحلة Python على Coddy. الدرس 5 من 64.
الأساليب هي دوال تنتمي إلى فئة. وهي تحدد السلوكيات أو الإجراءات التي يمكن للكائنات تنفيذها.
إليك مثالًا على فئة تحتوي على أساليب:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultأنشئ كائن آلة حاسبة:
my_calc = Calculator()استدعِ طريقةً لا تحتاج إلى معلمات:
my_calc.greet()استدعِ methods باستخدام المعلمات:
sum_result = my_calc.add(5, 3)
print(sum_result)استدعِ طريقةً تطبع قيمةً وتُعيدها في الوقت نفسه:
product = my_calc.multiply(4, 7)الناتج:
Hello! I'm a calculator.
8
4 × 7 = 28Methods يمكنها:
- أخذ معاملات مثل
add(self, a, b) - إرجاع قيم مثل
return a + b - طباعة المخرجات مباشرةً مثل
print("Hello!") - القيام بالطباعة والإرجاع معًا
نقطة أساسية: تحدد methods ما يمكن لكائناتك فعله. أدرج دائمًا self كمعامل أول، لكن لا تمرّره عند استدعاء method.
التحدي
سهلفي هذا التحدي، ستنفّذ نظامًا مصرفيًا. ستُنشئ فئة BankAccount في ملف واحد، وتستخدمها في ملف آخر، موضحًا كيفية تنظيم التعليمات البرمجية لتسهيل صيانتها.
تحتاج إلى العمل باستخدام ملفين:
- bank_account.py: حيث ستعرّف فئة
BankAccount - driver.py: حيث ستستورد الفئة، وتنشئ حسابًا، وتجري معاملات
أنشئ فئة BankAccount في bank_account.py مع:
- سمة فئة
bank_nameمضبوطة على "Python National Bank" - طريقة
depositتستقبل مبلغًا وتضيفه إلى رصيد الحساب - طريقة
withdrawتستقبل مبلغًا وتطرحه من الرصيد - طريقة
get_balanceتُرجع الرصيد الحالي
بعد ذلك، في driver.py، استورد فئة BankAccount، وأنشئ حسابًا، وأودع $100، واسحب $30، واطبع الرصيد بالتنسيق: f"Current balance: ${my_account.get_balance()}"
جرّب بنفسك
from bank_account import BankAccount
# أنشئ حسابًا واختبر دوالك
my_account = BankAccount()
my_account.balance = 0 # الرصيد الابتدائي
# TODO: قم بإجراء المعاملات
# (كودك هنا)
# TODO: اطبع الرصيد النهائي
# (كودك هنا)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البرمجة كائنية التوجه
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsمعامل selfMethodsAttributesدالة البناء (__init__)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةدالة ()superإعادة تعريف الدوال (Method Overriding)الوراثة المتعددةترتيب استدعاء الدوال (Method Resolution Order)مراجعة - هيكلية الموظفين5تعدد الأشكال
مراجعة إعادة تعريف الدوالمفهوم Duck Typingالأصناف والدوال المجردةتصميم الواجهاتملخص - حاسبة الأشكالتدرّب بنفسك: مترجم Python عبر الإنترنت