الكلمة الأساسية this في Java هي إشارة إلى الكائن الحالي. يتم استخدامه ضمن طريقة مثيل أو مُنشئ للإشارة إلى الكائن الذي يتم إنشاؤه أو استدعاؤه حاليًا.
الغرض الأساسي من الكلمة الأساسية this هو التمييز بين متغيرات الحالة (الحقول) والمعلمات أو المتغيرات المحلية التي تحمل الاسم نفسه. يتم استخدامه أيضًا لتمرير الكائن الحالي كمعلمة إلى طرق أخرى، وإرجاع الكائن الحالي، واستدعاء مُنشئات أخرى في المُنشئ.
فكر في المثال التالي حيث يتم استخدام هذا للتمييز بين متغيرات المثيل ومعلمات الطريقة:
public class Employee { private String name; private int age; public Employee(String name, int age) { this.name = name; // 'this.name' refers to the instance variable this.age = age; // 'this.age' refers to the instance variable } public void setName(String name) { this.name = name; // 'this.name' refers to the instance variable } public String getName() { return this.name; // 'this.name' refers to the instance variable } }
في هذا المثال، يتم استخدام الكلمة الأساسية this لحل الغموض بين متغيرات الحالة name و age ، ومعلمات المنشئ name و العمر .
يمكن أيضًا استخدام الكلمة الأساسية this لتمرير الكائن الحالي كمعلمة إلى طريقة أو مُنشئ آخر.
إليك مثال يوضح تمرير هذا كمعلمة:
class Calculator { int result; Calculator add(int value) { this.result = value; return this; // returning the current object } Calculator subtract(int value) { this.result -= value; return this; } void displayResult() { System.out.println("Result: " this.result); } } public class Main { public static void main(String[] args) { Calculator calc = new Calculator(); calc.add(10).subtract(3).displayResult(); // chaining methods using 'this' } }
في هذا المثال، يتم إرجاع هذا من طرق إضافة وطرح، مما يسمح بتسلسل الطرق.
يمكن استخدام الكلمة الأساسية this لاستدعاء مُنشئ من آخر، مما يسهل تسلسل المُنشئ.
public class Box { private int length, width, height; public Box() { this(0, 0, 0); // calls the three-parameter constructor } public Box(int length, int width, int height) { this.length = length; this.width = width; this.height = height; } public void displayDimensions() { System.out.println("Dimensions: " length "x" width "x" height); } }
في هذا المثال، يستدعي المُنشئ بدون وسيطات المُنشئ ثلاثي الوسائط باستخدام this، مع تحديد الأبعاد الافتراضية للمربع .
إرجاع الكائن الحالي باستخدام هذا هو ممارسة شائعة في تسلسل الطرق.
إرجاع هذا يمكّن الواجهات السلسة، والتي غالبًا ما يتم رؤيتها في المنشئين أو واجهات برمجة التطبيقات.
class Person { private String firstName, lastName; Person setFirstName(String firstName) { this.firstName = firstName; return this; } Person setLastName(String lastName) { this.lastName = lastName; return this; } void displayFullName() { System.out.println("Full Name: " this.firstName " " this.lastName); } } public class Main { public static void main(String[] args) { Person person = new Person(); person.setFirstName("John").setLastName("Doe").displayFullName(); } }
هنا، تقوم الأساليب setFirstName وsetLastName بإرجاع this، مما يسمح بتسلسل الطرق ونمط تعليمات برمجية أكثر طلاقة.
قد يؤدي سوء استخدام الكلمة الرئيسية هذه إلى أخطاء أو تعليمات برمجية يصعب قراءتها. من الضروري أن نفهم متى ولماذا تستخدم هذا.
على الرغم من أن هذا مفيد، إلا أنه تجنب الإفراط في استخدامه عندما لا يكون ذلك ضروريًا، لأنه قد يؤدي إلى حدوث فوضى في التعليمات البرمجية الخاصة بك.
تأكد من فهمك الكامل للسياق الذي يتم فيه استخدام هذا، خاصة في قواعد التعليمات البرمجية المعقدة حيث تتفاعل كائنات وطرق متعددة.
تعد الكلمة الأساسية this في Java أداة قوية لإدارة التعليمات البرمجية الموجهة للكائنات بشكل فعال. من خلال فهم كيفية استخدام هذا لتمييز متغيرات الحالة، وتمرير الكائن الحالي، وطرق التسلسل، واستدعاء المنشئات، يمكنك كتابة تعليمات برمجية أكثر طلاقة وقابلية للقراءة وقابلة للصيانة.
إذا كانت لديك أية أسئلة أو كنت بحاجة إلى مزيد من التوضيح حول هذه الكلمة الرئيسية، فلا تتردد في التعليق أدناه!
اقرأ المشاركات المزيد على : 4 أشياء يجب أن تعرفها عن هذه الكلمة الرئيسية في Java.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3