خصوصیات کلاس (Class Attributes)
اینجا درباره «خصوصیات کلاس جاوا» حرف می زنیم. «خصوصیت کلاس (Class Attribute)» همان «متغیر (Variable)» داخل کلاس است. مثل کارت مدرسه که نام و سن دارد. هر شیء این خصوصیت ها را دارد و می تواند بخواند یا تغییرشان دهد.
تعریف خصوصیات کلاس جاوا
در کلاس می توان چند خصوصیت ساخت. هر خصوصیت یک داده نگه می دارد. به آن ها «فیلد (Field)» هم می گویند.
public class Main {
int x = 5;
int y = 3;
}
نکته: «فیلد» همان «خصوصیت کلاس» است.
دسترسی به خصوصیات
برای دسترسی، یک شیء بساز. سپس با نقطه . خصوصیت را بخوان.
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println(myObj.x);
}
}
تغییر مقدار خصوصیت
می توان مقدار خصوصیت را بعداً عوض کرد. فقط شیء را داشته باش.
public class Main {
int x;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 40;
System.out.println(myObj.x);
}
}
همچنین می توان مقدار اولیه را جایگزین کرد. سپس مقدار جدید چاپ می شود.
public class Main {
int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25;
System.out.println(myObj.x);
}
}
قفل کردن مقدار با final
اگر نخواهی مقدار عوض شود، از «final» استفاده کن. یعنی مقدار ثابت است.
public class Main {
final int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25; // خطا: نمی شود به final مقدار داد
System.out.println(myObj.x);
}
}
نکته: final برای مقادیر همیشه ثابت عالی است؛ مثل عدد PI.
چند شیء و استقلال خصوصیت ها
هر شیء کپیِ خودش از خصوصیت ها را دارد. تغییر در یکی، دیگری را تغییر نمی دهد.
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj1 = new Main();
Main myObj2 = new Main();
myObj2.x = 25;
System.out.println(myObj1.x);
System.out.println(myObj2.x);
}
}
تعریف چند خصوصیت کنار هم
می توان چند خصوصیت مختلف داشت؛ مثلا نام، نام خانوادگی و سن. سپس همه را چاپ کن.
public class Main {
String fname = "John";
String lname = "Doe";
int age = 24;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println("Name: " + myObj.fname + " " + myObj.lname);
System.out.println("Age: " + myObj.age);
}
}
گام های تمرینی
- یک کلاس بساز و یک خصوصیت بده.
- در
main()شیء بساز و مقدارش را چاپ کن. - مقدار را عوض کن و تفاوت را ببین.
نکته: برای یادآوری ساخت شیء، صفحه کلاس ها/اشیاء را ببین. همچنین بعداً با متدهای کلاس کار خواهیم کرد. این ها کنار «خصوصیات کلاس جاوا» کامل می شوند.
جمع بندی سریع
- خصوصیت کلاس همان فیلد داخل کلاس است.
- با نقطه به خصوصیت دسترسی می گیریم.
- final مقدار را غیرقابل تغییر می کند.
- هر شیء کپی جداگانه از خصوصیت ها دارد.