Menu
Coddy logo textTech

מחלקות לעומת אובייקטים

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Java של Coddy. שיעור 3 מתוך 87.

מחלקה היא תבנית שמגדירה מבנה. אובייקט הוא מופע מסוים שנוצר מתוך התבנית הזאת.

המחלקה (תוכנית אב)

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 + ")";
    }
}

יצירת אובייקטים (מופעים)

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 (מחרוזת) ו-year (מספר שלם)
  • בנאי שמגדיר את שני השדות
  • מתודה בשם getInfo() שמחזירה "<brand> (<year>)"

נסו בעצמכם

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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Java אונליין