"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > متى ولماذا تحتاج إلى الكلمة الأساسية "هذه" في فئات Java؟

متى ولماذا تحتاج إلى الكلمة الأساسية "هذه" في فئات Java؟

تم النشر بتاريخ 2025-01-16
تصفح:615

When and Why Do You Need the

فهم استخدام "هذا" في فئات Java

بينما قد يشير "هذا" في المقام الأول إلى الكائن الحالي واستخدامه المحدد و الضرورة يمكن أن تكون مربكة إلى حد ما. فيما يلي تفصيل للسيناريوهات التي لا غنى فيها عن "هذا":

1. توضيح مراجع المتغيرات في Setters

غالبًا ما تستخدم أساليب Setter "هذا" للتمييز بين المعلمات ومتغيرات الأعضاء الخاصة التي تشترك في نفس الاسم. باستخدام 'this.x'، يقوم الكود بتعيين قيمة المعلمة 'x' لمتغير المثيل 'x'، متجنبًا أي غموض.

مثال:

public class Foo {
    private String name;

    public void setName(String name) {
        this.name = name;
    }
}

2. تمرير مثيل الفئة الحالية كوسيطة

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

مثال:

public class Foo {
    public String useBarMethod() {
        Bar theBar = new Bar();
        return theBar.barMethod(this);
    }

    public String getName() {
        return "Foo";
    }
}

public class Bar {
    public void barMethod(Foo obj) {
        obj.getName();
    }
}

3. استدعاء المنشئين البديلين

داخل المنشئين، يمكن استخدام "هذا" لاستدعاء المنشئين البديلين من نفس الفئة. يعد هذا مفيدًا عندما يكون لديك العديد من المُنشئين وتريد تهيئة الكائن بقيم محددة.

مثال:

class Foo {
    public Foo() {
        this("Some default value for bar");

        // Optional additional lines
    }

    public Foo(String bar) {
        // Do something with bar
    }
}
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3