الطريقة الثابتة مقابل الطريقة غير الثابتة
الطريقة هي سلسلة من العبارات التي يتم تنفيذها لأداء مهمة محددة. يمكن للطرق أن تأخذ المدخلات وتنتج النواتج. الأساليب الثابتة وغير الثابتة نوعان من الأساليب الموجودة في لغات البرمجة الموجهة للكائنات. الطريقة الثابتة هي طريقة مرتبطة بالفئة. الطريقة المرتبطة بكائن تسمى طريقة غير ثابتة (مثيل). في اللغات الموجهة للكائنات ، تُستخدم الطرق كآلية للعمل على البيانات المخزنة في الكائنات.
ما هي الطريقة الثابتة؟
في البرمجة الشيئية ، الطريقة الثابتة هي طريقة مرتبطة بالفصل.لذلك ، لا تملك الطرق الثابتة القدرة على العمل على مثيل معين للفئة. يمكن استدعاء الطرق الثابتة بدون استخدام كائن من الفئة التي تحتوي على الأسلوب الثابت. فيما يلي مثال على تحديد طريقة ثابتة في Java. يجب استخدام الثابت عند تحديد طريقة ثابتة في Java.
public class MyClass {public static void MyStaticMethod () {// code of the static method}
}
يمكن استدعاء الطريقة الثابتة المحددة أعلاه على النحو التالي باستخدام اسم الفئة التي تنتمي إليها.
MyClass. MyStaticMethod () ؛
شيء مهم يجب ملاحظته هو أن الطرق الثابتة يمكنها فقط الوصول إلى الأعضاء الثابتة.
ما هي الطريقة غير الثابتة؟
الطريقة غير الثابتة أو طريقة المثيل هي طريقة مرتبطة بكائن في فئة. لذلك ، يتم استدعاء الطرق غير الثابتة باستخدام كائن من الفئة التي يتم فيها تعريف الطريقة.يمكن للطريقة غير الثابتة الوصول إلى الأعضاء غير الساكنين بالإضافة إلى الأعضاء الساكنين في الفصل الدراسي. في العديد من اللغات الموجهة للكائنات (مثل C ++ و Cو Java) ، عندما يتم استدعاء طريقة غير ثابتة ، يتم تمرير الكائن الذي استدعى الأسلوب كوسيطة ضمنية (يطلق عليه مرجع "هذا"). لذلك ، داخل الطريقة ، يمكن استخدام هذه الكلمة الأساسية للإشارة إلى الكائن الذي يسمى الطريقة. فيما يلي مثال على تحديد طريقة مثيل في Java.
public class MyClass {public void MyInstanceMethod () {// كود طريقة المثيل}
}
يمكن استدعاء طريقة المثيل المحددة أعلاه على النحو التالي باستخدام كائن من الفئة التي تنتمي إليها.
MyClass objMyClass=new MyClass () ؛
objMyClass. MyInstanceMethod () ؛
ما هو الفرق بين الطريقة الثابتة وغير الثابتة؟
الطرق الثابتة هي طرق مرتبطة بفئة ، في حين أن الطرق غير الثابتة هي طرق مرتبطة بكائنات من فئة.يجب إنشاء مثيل للفئة أولاً لاستدعاء طريقة غير ثابتة ، لكن الأساليب الثابتة لا تحتوي على هذا المطلب. يمكن استدعاءها ببساطة باستخدام اسم الفئة التي تحمل الأسلوب الثابت. الفرق المهم الآخر هو أن الطريقة غير الثابتة عادة ما تمتلك مرجعًا للكائن الذي يسمى الطريقة ويمكن الوصول إليها باستخدام هذه الكلمة الأساسية داخل الطريقة. لكن لا يمكن استخدام هذه الكلمة الأساسية في طرق ثابتة لأنها غير مرتبطة بكائن معين.