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