Menu
Coddy logo textTech

בנאים

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

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

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

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // בנאי ברירת מחדל
    public Book()
    {
        Title = "Unknown";
        Author = "Unknown";
    }
}

בנאי עם פרמטרים

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // בנאי עם פרמטרים
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
    }
}

העמסת בנאים – בנאים מרובים

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // בנאי עם שני פרמטרים
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
        Pages = 0;
    }
    
    // בנאי עם שלושה פרמטרים
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
}

שרשור בנאים עם this

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // הבנאי הראשי
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
    
    // קורא לבנאי הראשי עם ערך ברירת מחדל למספר העמודים
    public Book(string title, string author) : this(title, author, 0)
    {
    }
}

יצירת אובייקטים באמצעות בנאים שונים

Book book1 = new Book("1984", "George Orwell");
Book book2 = new Book("Harry Potter", "J.K. Rowling", 500);

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

challenge icon

אתגר

בינוני

צרו שלושה בנאים למחלקה Product באמצעות העמסת בנאים ושרשור בנאים:

  • בנאי עם 3 פרמטרים: name, price ו-stock
  • בנאי עם 2 פרמטרים: name ו-price (הערך של stock כברירת מחדל הוא 0)
  • בנאי ברירת מחדל ללא פרמטרים (name = "Unknown", price = 0, stock = 0)

השתמשו בשרשור בנאים עם this כדי להימנע מכפילות קוד.

נסו בעצמכם

using System;

class Program
{
    static void Main()
    {
        string name = Console.ReadLine();
        decimal price = decimal.Parse(Console.ReadLine());
        int stock = int.Parse(Console.ReadLine());
        
        Product product1 = new Product(name, price, stock);
        Product product2 = new Product();
        Product product3 = new Product("Keyboard", 79.99m);
        
        Console.WriteLine($"Product 1: {product1.Name} - ${product1.Price} (Stock: {product1.Stock})");
        Console.WriteLine($"Product 2: {product2.Name} - ${product2.Price} (Stock: {product2.Stock})");
        Console.WriteLine($"Product 3: {product3.Name} - ${product3.Price} (Stock: {product3.Stock})");
    }
}
quiz iconבחנו את עצמכם

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

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

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