इनहेरिटेंस की जगह कंपोज़िशन
साथ काम करने वाले ऑब्जेक्ट से व्यवहार जोड़ें।
यह कैसे काम करता है
कंपोज़िशन क्लास को एक काम पर केंद्रित रखता है और सख़्त इनहेरिटेंस ढाँचे से बचाता है।
Order कीमत का हिसाब अपनी लाइनों को सौंपता है। हर ऑब्जेक्ट की एक साफ़ ज़िम्मेदारी है।
चलने वाला C# उदाहरण
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
record LineItem(string Name, decimal Price);
class Order
{
public List<LineItem> Items { get; } = new();
public decimal Total => Items.Sum(item => item.Price);
}
class Program
{
static void Main()
{
var order = new Order();
order.Items.Add(new("Book", 30m));
order.Items.Add(new("Pen", 5m));
Console.WriteLine(order.Total);
}
}
35डिबगर से अभ्यास करें
किसी अहम असाइनमेंट या शर्त पर ब्रेकपॉइंट लगाएँ, Debug दबाएँ और अगली लाइन पर जाने से पहले लोकल मान देखें।