TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2287 1.82K
مقدمه‌ای بر کلاس‌ها در سی شارپ

#csharp_for_beginners

در زبان برنامه‌نویسی C#، کلاس‌ها (Classes) به عنوان یکی از اصلی‌ترین ساختارهای برنامه‌نویسی شیءگرا عمل می‌کنند. کلاس‌ها در C# قالبی برای ایجاد اشیاء (Objects) هستند و شامل داده‌ها (فیلدها و خصوصیات) و رفتارها (متدها) می‌شوند.

در این مقاله، مفهوم کلاس در C#، نحوه تعریف آن، انواع اعضای کلاس، اصول شیءگرایی مرتبط و مفاهیم پیشرفته بررسی خواهند شد.

۱. تعریف کلاس در C#

در C#، کلاس با استفاده از کلمه کلیدی class تعریف می‌شود. یک کلاس می‌تواند شامل متغیرها، خصوصیات، متدها و رویدادها باشد. در ادامه یک نمونه ساده از کلاس آورده شده است:

public class Car
{
public string Brand;
public string Model;
public int Year;

public void DisplayInfo()
{
Console.WriteLine($"Brand: {Brand}, Model: {Model}, Year: {Year}");
}
}


۲. ایجاد شیء از کلاس
برای استفاده از کلاس، باید یک نمونه (Object) از آن ایجاد کنیم:

class Program
{
static void Main()
{
Car myCar = new Car();
myCar.Brand = "Toyota";
myCar.Model = "Corolla";
myCar.Year = 2022;

myCar.DisplayInfo();
}
}


در این کد:
• یک شیء myCar از کلاس Car ساخته شده است.
• مقادیر فیلدهای آن مقداردهی شده‌اند.
• متد DisplayInfo برای نمایش اطلاعات خودرو فراخوانی شده است.

۳. فیلدها، خصوصیات و متدها

فیلدها (Fields)
فیلدها متغیرهایی هستند که داده‌های کلاس را نگهداری می‌کنند. در مثال قبل، Brand، Model و Year فیلد بودند.

خصوصیات (Properties)
خصوصیات راهی استاندارد برای دسترسی ایمن به داده‌های کلاس هستند. به جای استفاده مستقیم از فیلدها، می‌توان از property استفاده کرد:

public class Car
{
private string brand;

public string Brand
{
get { return brand; }
set { brand = value; }
}
}


استفاده از property باعث افزایش امنیت و کنترل بیشتر بر روی داده‌ها می‌شود.

متدها (Methods)
متدها وظایف خاصی را در کلاس انجام می‌دهند. در مثال‌های قبل، DisplayInfo() یک متد بود که اطلاعات را چاپ می‌کرد.

🔗 مطلب کامل را در این لینک می‌توانید مطالعه کنید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

کانال تلگرام:
@SoftwarePhilosophy

______
  • 👍 6
  • ❤ 3
More from @softwarephilosophy
  1. Sep 27, 2026نگو JEV بگو System One! دنیل کانمن (Daniel Kahneman) توی کتاب معروفش «تفکر، سریع و کند» (T…
  2. Sep 23, 2026بازنویسی کل GitHub Copilot Runtime با Rust 🔶 حدود ۱۲۰،۰۰۰ دلار هزینه توکن و سه هفته وقت ی…
  3. Sep 15, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  4. Sep 12, 2026کد مدریت شده (Managed Code) در دات‌نت یعنی چی؟ ▫️به زبان ساده: کد مدریت شده (Managed Code)…
  5. Sep 5, 2026آشنایی با Attributeها در سی‌شارپ در سی شارپ، Attributeها برای اضافه کردن metadata یا اطلاع…
  6. Aug 25, 2026اگر در دات نت Agent، MCP Server یا ابزارهای مبتنی بر هوش مصنوعی توسعه میدهی، این پروژه میت…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →