Open Aida-Hagh opened 5 months ago
struct Point {
public int X { get; set; }
public int Y { get; set; }
}
class Circle {
public Point Center { get; set; }
public int Radius { get; set; }
public Circle(int x, int y, int radius)
{
Center = new Point { X = x, Y = y };
Radius = radius;
}
public void Display()
{
Console.WriteLine($"Center: ({Center.X}, {Center.Y}), Radius: {Radius}");
}
}
class Program {
static void Main()
{
Circle circle = new Circle(5, 10, 15);
circle.Display();
}
}
در این مثال، از ساختار Point برای تعریف نقاط مختصات و از کلاس Circle برای تعریف دایرهها استفاده شده است. ساختار Point برای دادههای ساده و کلاس Circle برای دادههای پیچیدهتر استفاده میشود.
ساختارها (Structs) و کلاس ها(Classes):
ساختارها برای دادههای کوچک و ساده( مانند نقاط مختصات، رنگها، و اندازهها) استفاده میشود و نال پذیر نیستند چون value Type (نوع مقداری) هستند(معمولا در استک (Stack) ذخیره میشوند) ولی کلاس ها نال پذیرند و Reference Types هستند(در هیپ ذخیره میشوند). ساختارها نمیتوانند از دیگر ساختارها یا کلاسها ارثبری کنند، اما میتوانند واسطها (interfaces) را پیادهسازی کنند. کلاسها میتوانند از دیگر کلاسها ارثبری کنند و از قابلیتهای ارثبری و چندریختی (polymorphism) استفاده کنند.