جاوا

جلسه ۲۰: فیلدهای کلاس در جاوا

class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.
Car obj1 = new Car();

System.out.println(obj1.speed);
System.out.println(obj1.capacity);

فیلد های final یا نهایی

پس از اختصاص دادن مقدار به یک فیلد final دیگر نمی توان مقدار آن را تغییر داد. با استفاده از کلمه کلیدی final می توانیم یک فیلد را نهایی کنیم. در اینجا مثالی در جاوا آورده شده است:
class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.
class Car {
  
  // Non-Static Fields
  int speed;
  int capacity;
  
}
از آنجا که فیلدهای غیر استاتیک در کلاس قرار ندارند ، بنابراین برای دسترسی به فیلدهای غیر استاتیک به یک شی از کلاس نیاز داریم.
Car obj1 = new Car();

System.out.println(obj1.speed);
System.out.println(obj1.capacity);

فیلد های final یا نهایی

پس از اختصاص دادن مقدار به یک فیلد final دیگر نمی توان مقدار آن را تغییر داد. با استفاده از کلمه کلیدی final می توانیم یک فیلد را نهایی کنیم. در اینجا مثالی در جاوا آورده شده است:
class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.
// Static fields are accessible in the main
System.out.println(Car.speed);
System.out.println(Car.capacity);

فیلد غیر استاتیک

فیلدهای غیر استاتیک در شی های کلاس قرار دارند. هر شی از کلاس می تواند مقادیر خاص خود را برای این فیلدها داشته باشد.

می توانید یک فیلد غیر استاتیک را به صورت زیر در جاوا تعریف کنید:
class Car {
  
  // Non-Static Fields
  int speed;
  int capacity;
  
}
از آنجا که فیلدهای غیر استاتیک در کلاس قرار ندارند ، بنابراین برای دسترسی به فیلدهای غیر استاتیک به یک شی از کلاس نیاز داریم.
Car obj1 = new Car();

System.out.println(obj1.speed);
System.out.println(obj1.capacity);

فیلد های final یا نهایی

پس از اختصاص دادن مقدار به یک فیلد final دیگر نمی توان مقدار آن را تغییر داد. با استفاده از کلمه کلیدی final می توانیم یک فیلد را نهایی کنیم. در اینجا مثالی در جاوا آورده شده است:
class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.
class Car {

  // static fields
  static int speed;
  static int capacity;

}
فیلدهای استاتیک در کلاس قرار دارند. برای دسترسی به فیلدهای استاتیک به نمونه ای (یک شی) از کلاس نیاز نداریم. فقط با نوشتن نام کلاس قبل از نام فیلد می توانیم به فیلدهای استاتیک یک کلاس دسترسی پیدا کنیم:
// Static fields are accessible in the main
System.out.println(Car.speed);
System.out.println(Car.capacity);

فیلد غیر استاتیک

فیلدهای غیر استاتیک در شی های کلاس قرار دارند. هر شی از کلاس می تواند مقادیر خاص خود را برای این فیلدها داشته باشد.

می توانید یک فیلد غیر استاتیک را به صورت زیر در جاوا تعریف کنید:
class Car {
  
  // Non-Static Fields
  int speed;
  int capacity;
  
}
از آنجا که فیلدهای غیر استاتیک در کلاس قرار ندارند ، بنابراین برای دسترسی به فیلدهای غیر استاتیک به یک شی از کلاس نیاز داریم.
Car obj1 = new Car();

System.out.println(obj1.speed);
System.out.println(obj1.capacity);

فیلد های final یا نهایی

پس از اختصاص دادن مقدار به یک فیلد final دیگر نمی توان مقدار آن را تغییر داد. با استفاده از کلمه کلیدی final می توانیم یک فیلد را نهایی کنیم. در اینجا مثالی در جاوا آورده شده است:
class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.
public class Car {
  
  int  topSpeed;
  int  totalSeats;
  int  fuelCapacity;
  
}

فیلد های استاتیک و غیر استاتیک

جاوا از فیلد های استاتیک و غیر استاتیک پشتیبانی می کند.

فیلد استاتیک

هر فیلد استاتیک در کلاس به آن کلاس وابسته است و از اشیا مستقل است. همه اشیایی که ایجاد می کنیم در این فیلد و مقدار آن مشترک هستند. به عبارت دیگر فیلد استاتیک ، فیلدی است که از طریق کلاس بین تمامی اشیای کلاس به اشتراک گذاشته شده است.

با استفاده از کلمه کلیدی static در جاوا می توانید یک فیلد استاتیک تعریف کنید:
class Car {

  // static fields
  static int speed;
  static int capacity;

}
فیلدهای استاتیک در کلاس قرار دارند. برای دسترسی به فیلدهای استاتیک به نمونه ای (یک شی) از کلاس نیاز نداریم. فقط با نوشتن نام کلاس قبل از نام فیلد می توانیم به فیلدهای استاتیک یک کلاس دسترسی پیدا کنیم:
// Static fields are accessible in the main
System.out.println(Car.speed);
System.out.println(Car.capacity);

فیلد غیر استاتیک

فیلدهای غیر استاتیک در شی های کلاس قرار دارند. هر شی از کلاس می تواند مقادیر خاص خود را برای این فیلدها داشته باشد.

می توانید یک فیلد غیر استاتیک را به صورت زیر در جاوا تعریف کنید:
class Car {
  
  // Non-Static Fields
  int speed;
  int capacity;
  
}
از آنجا که فیلدهای غیر استاتیک در کلاس قرار ندارند ، بنابراین برای دسترسی به فیلدهای غیر استاتیک به یک شی از کلاس نیاز داریم.
Car obj1 = new Car();

System.out.println(obj1.speed);
System.out.println(obj1.capacity);

فیلد های final یا نهایی

پس از اختصاص دادن مقدار به یک فیلد final دیگر نمی توان مقدار آن را تغییر داد. با استفاده از کلمه کلیدی final می توانیم یک فیلد را نهایی کنیم. در اینجا مثالی در جاوا آورده شده است:
class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.این جلسه به جزئیات مربوط به فیلد های کلاس می پردازد. موارد زیر را بررسی خواهیم کرد
  • فیلد های جاوا
  • فیلد های استاتیک و غیر استاتیک
  • فیلد استاتیک
  • فیلد غیر استاتیک
  • فیلد های final یا نهایی

فیلد های جاوا

فیلدهای جاوا در واقع اعضای داده ای در داخل کلاس هستند. به عنوان مثال ، کلاس ارائه دهنده اتومبیل ، ممکن است شامل فیلدهای زیر باشد:
  • topSpeed برای مشخص کردن حداکثر سرعت اتومبیل
  • totalSeats برای مشخص کردن مجموع صندلی های اتومبیل
  • fuelCapacity برای مشخص کردن ظرفیت باک سوخت اتومبیل

کلاس Car (اتومبیل) را می توان اینگونه در جاوا تعریف کرد:
public class Car {
  
  int  topSpeed;
  int  totalSeats;
  int  fuelCapacity;
  
}

فیلد های استاتیک و غیر استاتیک

جاوا از فیلد های استاتیک و غیر استاتیک پشتیبانی می کند.

فیلد استاتیک

هر فیلد استاتیک در کلاس به آن کلاس وابسته است و از اشیا مستقل است. همه اشیایی که ایجاد می کنیم در این فیلد و مقدار آن مشترک هستند. به عبارت دیگر فیلد استاتیک ، فیلدی است که از طریق کلاس بین تمامی اشیای کلاس به اشتراک گذاشته شده است.

با استفاده از کلمه کلیدی static در جاوا می توانید یک فیلد استاتیک تعریف کنید:
class Car {

  // static fields
  static int speed;
  static int capacity;

}
فیلدهای استاتیک در کلاس قرار دارند. برای دسترسی به فیلدهای استاتیک به نمونه ای (یک شی) از کلاس نیاز نداریم. فقط با نوشتن نام کلاس قبل از نام فیلد می توانیم به فیلدهای استاتیک یک کلاس دسترسی پیدا کنیم:
// Static fields are accessible in the main
System.out.println(Car.speed);
System.out.println(Car.capacity);

فیلد غیر استاتیک

فیلدهای غیر استاتیک در شی های کلاس قرار دارند. هر شی از کلاس می تواند مقادیر خاص خود را برای این فیلدها داشته باشد.

می توانید یک فیلد غیر استاتیک را به صورت زیر در جاوا تعریف کنید:
class Car {
  
  // Non-Static Fields
  int speed;
  int capacity;
  
}
از آنجا که فیلدهای غیر استاتیک در کلاس قرار ندارند ، بنابراین برای دسترسی به فیلدهای غیر استاتیک به یک شی از کلاس نیاز داریم.
Car obj1 = new Car();

System.out.println(obj1.speed);
System.out.println(obj1.capacity);

فیلد های final یا نهایی

پس از اختصاص دادن مقدار به یک فیلد final دیگر نمی توان مقدار آن را تغییر داد. با استفاده از کلمه کلیدی final می توانیم یک فیلد را نهایی کنیم. در اینجا مثالی در جاوا آورده شده است:
class Car {
  // Final field of capacity = 4
  // Now Capacity can nerver be changed from 4
  // to some other value throught the program
  final int capacity = 4;

}
capacity (ظرفیت) کلاس Car (اتومبیل) برابر با ۴ است که قابل تغییر نیست. اگر سعی کنید که مقدار آن را تغییر دهید ، با خطای کامپایلر روبرو خواهید شد:

can't assign a value to final variable capacity

این پیغام می گوید: نمی توان مقداری را به متغیر نهایی capacity اختصاص داد. خودتان می توانید آن را از طریق کد زیر بررسی کنید:
class Car {

  // Final variable capacity
  final int capacity = 4;

}

class Demo {
  
   public static void main() {
     
      Car car = new Car();
      car.capacity = 5; // Trying to change the capacity value
   }
  
}
در جلسه بعدی ، در مورد متدها در جاوا بحث خواهیم کرد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا