Menu
Coddy logo textTech

מתודת הבנאי

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

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

בנאי בסיסי

public class Book {
    private String title;
    private String author;
    
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

בנאי ברירת מחדל (ללא פרמטרים)

public class Book {
    private String title;
    
    public Book() {
        this.title = "Unknown";
    }
}

הבנאי מאתחל את מצב האובייקט

Book book = new Book("1984", "Orwell");
// הבנאי מופעל מיד, והשדות מאותחלים

אם לא כותבים בנאי, Java מספקת בנאי ריק כברירת מחדל. ברגע שכותבים בנאי כלשהו, הבנאי שמוגדר כברירת מחדל אינו מסופק עוד באופן אוטומטי.

challenge icon

אתגר

בינוני

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

  • שדות פרטיים: title, author (String), pages (int)
  • בנאי שמקבל את שלושת הערכים ומשייך אותם באמצעות this
  • שיטות getter לכל שדה
  • שיטה getSummary() שמחזירה "<title> by <author> (<pages> pages)"

נסו בעצמכם

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        int pages = Integer.parseInt(scanner.nextLine());
        
        Book book = new Book(title, author, pages);
        
        System.out.println("Title: " + book.getTitle());
        System.out.println("Author: " + book.getAuthor());
        System.out.println("Pages: " + book.getPages());
        System.out.println(book.getSummary());
    }
}
quiz iconבחנו את עצמכם

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

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

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