- - دروس: جافا هذه الكلمة

البرنامج التعليمي: جافا هذه الكلمة

علمنا مؤخرا عن كلمة أساسية ثابتة في جافا، مما يجعل الطرق متاحة للاستدعاء حتى قبل إنشاء الكائنات. في كثير من الأحيان يحتاج الأسلوب إلى الإشارة إلى الكائن الذي استدعاؤه. توصلت جافا إلى ميزة / كلمة رئيسية "هذه"لتحقيق المطلوب. "هذه"يمكن استخدامها داخل أي طريقة للإشارة إلى الكائن الحالي. "هذه"هو دائمًا مرجع إلى الكائن الذي تم استدعاء الطريقة عليه.

هذا جافا

مرة أخرى في بعض الأحيان عندما يكون للمعلمة الرسمية نفس اسم متغير المثيل ، فإن المعلمة الرسمية تخفي متغير المثيل. لتجنب إخفاء متغيرات الحالة "هذه"للإشارة إلى متغير المثيل. وبالتالي 'هذه"لحل تضاربات مساحة الاسم التي قد تحدث بين متغيرات الحالة والمعلمات الرسمية.

برنامج

class Employee{
String employeeName;
String employeeAddress;
double salary;
Employee(String employeeName,String employeeAddress,double salary){
this.employeeName = employeeName;
this.employeeAddress = employeeAddress;
this.salary = salary;
}
void setSalary(double salary){
this.salary = salary;
}
void showDetails(){
System.out.println("Employee's Name: "+employeeName);
System.out.println("Employee's Address: "+employeeAddress);
System.out.println("Employee's salary: "+salary);
}
}
class ThisDemo{
public static void main(String args[]){
String name = "Ricardo Kaka";
String address = "South Africa";
double salary = 26389.92;
Employee employee = new Employee(name,address,salary);
System.out.println("Employee Details:");
System.out.println("--------------------------");
employee.showDetails();
System.out.println();
System.out.println("Modified Employee Details:");
System.out.println("--------------------------");
salary = 34902.25;
employee.setSalary(salary);
employee.showDetails();
}
}

انتاج |

برمجة جافا

شرح كود و مخرجات الجافا

في الرمز كتبنا معلمة واحدةمُنشئ حيث يكون للمعلمات الرسمية نفس اسم اسم متغيرات الحالة من نفس الفئة. من الواضح الآن أن المعلمات الرسمية للمنشئ ذي المعلمات ستخفي متغيرات الحالة لفئة الموظف. لحل المشكلة استخدمنا "هذه"قبل متغيرات المثيل أثناء التهيئة. وينطبق الشيء نفسه على setSalary () الطريقة المستخدمة لتحديث الراتب. هنا أيضا المعلمة الرسمية ل setSalary () له نفس اسم اسم متغير المثيلراتب. لذلك هناك تضارب في مساحة الاسم ، سيخفي راتب المعلمة الرسمية الراتب المتغير المثيل. لتجنب هذه المشكلة أثناء تهيئة متغير المثيل "هذه"يجب أن يسبق ذلك. سنرى برنامجًا صغيرًا واحدًا عن كيفية إخفاء المعلمة الرسمية لمتغير المثيل إذا كان لكل منهما نفس الاسم.

class Employee{
double salary;
int age;
Employee(double salary){
salary = salary;
}
Employee(double salary,int age){
this.salary = salary;
this.age = age;
}
void showDetails(){
System.out.println("Salary: "+salary);
}
}
class HideDemo{
public static void main(String args[]){
Employee emp = new Employee(23678.88);
System.out.println("emp");
System.out.println("---");
emp.showDetails();
Employee employee = new Employee(23678.88,21);
System.out.println("n");
System.out.println("employee");
System.out.println("--------");
employee.showDetails();
}
}

انتاج |

هذا في جافا

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

تشغيل الفلاش

  1. "هذه"دائمًا بإرجاع المرجع إلى الكائن الحالي.
  2. يمكن استخدامه داخل الطرق والمنشآت.
  3. "هذه"لا يمكن الرجوع إليها في سياق ثابت.
بعد ذلك سنناقش حول العودية في جافا.
اطلع على المزيد من البرامج التعليمية المفيدة والمبادئ التوجيهية النهائية حول برمجة Java هنا.

تعليقات