ویژگی تصویر

کلاس ها در سی شارپ

  /  سی شارپ   /  کلاس ها در C#
بنر تبلیغاتی الف
c# - c sharp - سی شارپ

در این بخش به بررسی کلاس ها در C# می پردازیم، یکی از ویژگی‌های برجسته زبان C#، پشتیبانی قوی از برنامه‌نویسی شی‌گرا (Object-Oriented Programming یا OOP) است. در قلب این رویکرد، مفهوم کلاس‌ها قرار دارد. کلاس‌ها به ما اجازه می‌دهند که داده‌ها و رفتارهای مرتبط را در قالبی واحد و منسجم تعریف کنیم. این ویژگی نه‌تنها باعث سازماندهی بهتر کد می‌شود، بلکه قابلیت توسعه، خوانایی و استفاده مجدد از کد را نیز افزایش می‌دهد.

در برنامه‌نویسی با C#، کلاس‌ها همچون نقشه‌هایی برای ساخت اشیا (Objects) عمل می‌کنند. هر شیء نمونه‌ای از یک کلاس است که داده‌های خاص خود را نگهداری کرده و عملکردهای مشخصی ارائه می‌دهد. با استفاده از کلاس‌ها، می‌توانیم رفتارهای پیچیده‌ای را طراحی و پیاده‌سازی کنیم که شامل ویژگی‌هایی مانند وراثت، چندریختی (Polymorphism)، و کپسوله‌سازی (Encapsulation) است. در این مقاله، قصد داریم مفاهیم اصلی کلاس‌ها را به صورت جامع بررسی کنیم و با ارائه مثال‌های کاربردی، شما را با اصول و نحوه استفاده از آن‌ها در پروژه‌های واقعی آشنا کنیم.

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

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

class MyClass
{
    // اعضای کلاس شامل فیلدها، متدها، سازنده‌ها و ویژگی‌ها
}

هر کلاس می‌تواند شامل فیلدها (Fields) برای نگهداری داده‌ها، متدها (Methods) برای انجام عملیات، و ویژگی‌ها (Properties) برای کنترل دسترسی به داده‌ها باشد. در ادامه یک مثال ساده از تعریف یک کلاس آورده شده است:

تماشا در حالت تمام صفحه

توضیح مثال:

  • Name و Age فیلدهایی هستند که اطلاعات مربوط به هر شخص را نگهداری می‌کنند.
  • متد Introduce یک رفتار مشخص برای کلاس است که اطلاعات شخص را به‌صورت یک پیام چاپ می‌کند.

سازنده‌ها (Constructors) در کلاس‌ها

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

مثال سازنده:

تماشا در حالت تمام صفحه

استفاده از سازنده:

Car myCar = new Car("Toyota", 2022);
myCar.DisplayInfo();

توضیح: سازنده Car هنگام ایجاد شیء مقدار اولیه برای Brand و Year تعیین می‌کند. این کار، کد را ساده‌تر و مدیریت‌پذیرتر می‌سازد.

کپسوله‌سازی (Encapsulation)

کپسوله‌سازی یکی از اصول اساسی شی‌گرایی است که به ما اجازه می‌دهد داده‌ها را مخفی کرده و فقط از طریق متدها یا ویژگی‌ها به آن‌ها دسترسی داشته باشیم. در C#، این کار معمولاً با استفاده از دسترسی‌دهنده‌ها (Access Modifiers) مانند private و public انجام می‌شود.

مثال:

تماشا در حالت تمام صفحه

توضیح:

  • فیلد balance به‌صورت private تعریف شده است و نمی‌توان مستقیماً به آن دسترسی داشت.
  • متدهای Deposit و GetBalance برای مدیریت دسترسی به balance استفاده می‌شوند.

وراثت (Inheritance) در کلاس‌ها

وراثت به شما امکان می‌دهد که یک کلاس جدید بر پایه یک کلاس موجود ایجاد کنید. این ویژگی، قابلیت استفاده مجدد از کد را افزایش می‌دهد و ساختار سلسله‌مراتبی ایجاد می‌کند.

مثال:

تماشا در حالت تمام صفحه

استفاده:

Dog myDog = new Dog();
myDog.Eat(); // از کلاس پایه
myDog.Bark(); // از کلاس فرزند

توضیح:

  • کلاس Dog از کلاس Animal ارث‌بری کرده است، بنابراین می‌تواند از متد Eat استفاده کند.
  • متد Bark به کلاس Dog اضافه شده و مختص آن است.

چندریختی (Polymorphism) در کلاس‌ها

چندریختی به شما اجازه می‌دهد که از یک رابط واحد برای اشکال مختلف استفاده کنید. در C#، این ویژگی با استفاده از متدهای مجازی (virtual) و بازنویسی (override) پیاده‌سازی می‌شود.

مثال:

تماشا در حالت تمام صفحه

استفاده:

Shape myShape = new Circle();
myShape.Draw(); // "Drawing a circle."

توضیح:

  • متد Draw در کلاس پایه Shape تعریف شده است.
  • کلاس Circle این متد را بازنویسی کرده تا رفتار خاص خود را ارائه دهد.

کلاس‌ها یکی از ارکان اصلی برنامه‌نویسی شی‌گرا در C# هستند که امکان طراحی ساختارهای پیچیده، خوانا و قابل نگهداری را فراهم می‌کنند. در این مقاله، مفاهیم اصلی کلاس‌ها شامل تعریف، سازنده‌ها، کپسوله‌سازی، وراثت و چندریختی را بررسی کردیم.

منابع

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج