Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الفئات (Classes) مقابل الكائنات (Objects)

جزء من قسم Object Oriented Programming في رحلة Java على Coddy — الدرس 3 من 87.

الفئة (Class) هي مخطط يحدد الهيكل. والكائن (Object) هو مثيل محدد تم إنشاؤه من ذلك المخطط.

الفئة (المخطط)

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

إنشاء الكائنات (instances)

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

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

challenge icon

التحدي

متوسط

قم بإنشاء فئة Car (المخطط) وسيقوم البرنامج بإنشاء كائنين مختلفين (مثيلين) منها:

  • الحقول: brand (String) و year (int)
  • منشئ (constructor) يقوم بتعيين كلا الحقلين
  • دالة getInfo() تُرجع "<brand> (<year>)"

ورقة مرجعية

الـ class هو مخطط يحدد الهيكل. الـ object هو نسخة محددة تم إنشاؤها من ذلك المخطط.

تعريف class:

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

إنشاء objects من class:

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

كل object مستقل ببياناته الخاصة. يمكنك إنشاء عدد غير محدود من الـ objects من نفس الـ class.

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String brand1 = scanner.nextLine();
        int year1 = Integer.parseInt(scanner.nextLine());
        String brand2 = scanner.nextLine();
        int year2 = Integer.parseInt(scanner.nextLine());
        
        Car car1 = new Car(brand1, year1);
        Car car2 = new Car(brand2, year2);
        
        System.out.println("Car 1: " + car1.getInfo());
        System.out.println("Car 2: " + car2.getInfo());
        System.out.println("Same car? " + (car1 == car2));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming