اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

من حيث الاستخدام فكلاهما واحد أي كلاهما دوال، الفرق يكمن في أنّ الميثود هي دالة كلاس أو كائن وليس في النطاق العام.

بمعنى Functions دوال مستقلة، تُعرّف خارج أي كلاس أو كائن، وتستطيع استدعاءها مباشرةً من أي مكان في البرنامج لأنه يتم تعريفها في النطاق العام (Global Scope)، وتستقبل قيم إدخال parameters وتعيد قيمة إخراج return value.

بينما الـ Methods هي دوال مرتبطة بكلاس أو كائن، وعليك تعريفها داخل الكلاس، وتُستدعى فقط من خلال إنشاء كائن من ذلك الكلاس وتقوم بتنفيذ عمليات معينة عليه.

أي هي دالة خاصة تعرف على كائن معين من صنف معين، وتؤدي مهمة محددة على بيانات الكائن، وتؤثر عليه، وتستخدم للوصول إلى بيانات الكائن وتعديلها.

لاحظ التالي مثلاً في بايثون، لدينا دالة مستقلة باسم greet وميثود داخل كلاس Person باسم greet.

def greet(name):
    print(f"مرحباً {name}!")

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"مرحباً {self.name}!")

# استدعاء الدالة
greet("محمد")

person = Person("محمد")

# استدعاء الميثود على الكائن
person.greet()

 

  • 0
نشر
بتاريخ 8 دقائق مضت قال Amr Hatem Taweila:

كنت اريد ان اعرف ما الفرق بين method و functions  مع تعريف نظري لل method

الفرق بين Method و Function

  •  Function (الدالة):
    • كود يتم تعريفه لتنفيذ مهمة معينة، ويمكن استدعاؤها في أي وقت خلال البرنامج.
    • و يتم استخدامها بشكل عام خارج الكائنات (Objects)، ويمكن أن تكون مستقلة عن الكائنات.
    • تكون مستقلة بذاتها وقد تأخذ مدخلات (Parameters) وتُرجع مخرجات.

و لنأخذ مثال على Function في بايثون:

def add_numbers(a, b):
    return a + b

result = add_numbers(3, 5)  # استدعاء الدالة

 

  • Method:
    • هي نوع خاص من الدوال تكون مرتبطة بكائن معين (Object). يتم تعريفها داخل الكلاس (Class)، وتعمل في سياق هذا الكائن. عند استدعائها، يتم تمرير الكائن نفسه تلقائيًا كأول وسيط باستخدام الكلمة المفتاحية
      و هى self (في بايثون) أو ما يعادلها في لغات برمجة أخرى.
    • الاستخدام: تستخدم للتعامل مع البيانات أو الخصائص الخاصة بالكائن الذي تنتمي إليه.

و لنأخذ مثال على Method في بايثون:

class Calculator:
    def add(self, a, b):
        return a + b

calc = Calculator()       # إنشاء كائن من الكلاس
result = calc.add(3, 5)   # استدعاء الطريقة المرتبطة بالكائن

 

بالتوفيق إن شاء الله

  • 0
نشر

 Function (دالة): 

هي جزء (block) من الشيفرات البرمجية التي تؤدي مهمة معينة ويمكن استدعاؤها في أي مكان في البرنامج وعدد لا محدود من الإستدعاءات. ويمكن للدالة أن تأخذ أكثر من معامل أو لا تأخذ أى معاملات . ويمكنها أن تعيد قيمة أو لا تعيد أى شئ .

مثل :

def add(a, b):
    return a + b

result = add(1, 2)  
print(result)

لاحظ الدالة السابقة تسمى add وهي تأخذ معاملين وتقوم بإرجاع مجموع ذلك المعاملين .

Method (تابع):

التابع هو نوع خاص من الدوال أى هو في الأصل دالة ولكنه سمى تابع لأنه يتم تعريفه بداخل صنف (Class) أي أن هذا التابع يتبع هذا الصنف فقط ولا يمكن إستدعاءه إلا من خلال هذا الصنف.

مثل :

class Calculator:
    def add(self, a, b):
        return a + b

calc = Calculator()
result = calc.add(1, 2) 
print(result)

لاحظ في المثال السابق لقد أنشأنا التابع add وهو في الأصل دالة ولكنها بداخل الصنف Calculator ولهذا لا يمكن إستدعائها إلا من خلال هذا الصنف. أى يجب أن ننشأ كائن من هذا الصنف ومن ثم إستدعاء التابع من هذا الكائن.

  • 0
نشر

ال Function هي كتلة من التعليمات البرمجية تستخدم لتنفيذ مهمة محددة ويمكن استدعاؤها من أي مكان في البرنامج فالدوال تستخدم بشكل عام في البرمجة غير الكائنية (Procedural Programming) ويمكن أن تكون مستقلة عن أي كائن.

أما ال Method هي نوع خاص من الدوال تعرّف داخل كائن (Object) أو فئة (Class) في البرمجة الكائنية (Object-Oriented Programming) يمكن أن تتفاعل الطرق مع بيانات الكائن الذي تعرف فيه مما يجعلها مرتبطة بسياق الكائن.

ببحث بسيط عبر مواقع حسوب يمكنك أن تجد أجوبة عديدة على أسئلتك مثل هذه الإجابة هنا: ما-الفرق-بين-method-و-function

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...