درس 12 از 33
در حال پیشرفت

تفاوت بین کلاس و شیء

کلاس: مثل یه نقشه (Blueprint) می‌مونه که توضیح می‌ده چطور یه شیء از اون نوع ساخته بشه.
شیء: یه نمونه‌ی واقعی از اون نقشه است.

مثال:
کلاس Animal می‌تونه ده‌ها حیوان بسازه که هر کدوم رنگ، نام و اندازه‌ی خودشون رو داشته باشن.

فکر کردن درباره‌ی اشیاء

هر شیء توی جاوا دو تا چیز مهم داره:

ویژگی‌ها (Instance Variables):
ویژگی‌ها چیزهایی هستن که شیء در مورد خودش می‌دونه، مثلاً وضعیت یا داده‌هاش. این ویژگی‌ها می‌تونن برای هر شیء از یه نوع خاص، مقادیر منحصر به فردی داشته باشن.

متدها (Methods):
متدها چیزهایی هستن که یه شیء می‌تونه انجام بده. وقتی داری یه کلاس طراحی می‌کنی، باید فکر کنی که چه داده‌هایی لازمه و متدهایی که باید روی این داده‌ها کار کنن چیا هستن.

مثلاً:

  • ShoppingCart (سبد خرید)

    • می‌دونه: لیست آیتم‌هایی که داخلشه.
    • می‌تونه: آیتم‌ها رو اضافه کنه، حذف کنه، قیمت کل رو حساب کنه.
  • Button (دکمه)

    • می‌دونه: رنگش، متنش.
    • می‌تونه: کلیک بشه، متنش تغییر کنه.
  • Alarm (زنگ هشدار)

    • می‌دونه: چه زمانی باید زنگ بزنه.
    • می‌تونه: زنگ بزنه، خاموش بشه.

مثال: ساخت یه کلاس و شیء توی جاوا

کلاس سگ (Dog):

				
					class Dog {  
  int size;  
  String breed;  
  String name;  
  
  void bark() {  
    System.out.println("hup! hup!");  
  }  
}

				
			

اجرای برنامه:

				
					class DogTestDrive {  
  public static void main(String[] args) {  
    Dog d = new Dog();   // می‌سازیم  Dog  یه شیء از کلاس    
    d.size = 40;         // اندازه‌شو مشخص می‌کنیم  
    d.bark();            // می‌گیم واق واق کنه  

  }  
}

				
			

نکته: نقش اپراتور نقطه‌ای (Dot Operator)

وقتی می‌خوای به یه ویژگی یا متد شیء دسترسی پیدا کنی، از اپراتور نقطه‌ای (.) استفاده می‌کنی.
مثلاً:

				
					d.size = 40;  // مقداردهی به ویژگی اندازه  
d.bark();     // فراخوانی متد bark