→ Lecture 7 & 8 · كل المراحل
المرحلة 9 · شرائح 27، 28، 29، 30

أي name تقصد؟

this & Shadowing

01 / افهم الفكرة

this & Shadowing

المعنى الأساسي

this تشير إلى الكائن الحالي الذي استدعى Instance Method. كتابة this.name تحدد حقل name داخل ذلك الكائن.

متى يظهر الالتباس

إذا كان اسم Parameter هو name، فهو يحجب اسم الحقل داخل Method. السطر name = name; يقرأ Parameter ويسند إليه نفسه؛ الحقل لا يتغير.

الحل الأول

this.name = name; تعني ضع قيمة Parameter الموجود يمينًا في حقل الكائن الموجود يسارًا. وجود this هنا يميز الحقل بوضوح.

حل آخر في الشرائح

سمّ Parameter باسم مختلف مثل n، ثم اكتب name = n;. في هذه الحالة name غير محجوب، لذلك يشير إلى الحقل حتى دون this.

1 / 4