منظور از شی گرایی در سی شارپ چیست؟
در برنامه نویسی شی گرا موجودیتهای برنامه در قالب شی در نظر گرفته میشوند که برای این اشیا امکان تعریف ویژگیها و رفتارهای منحصر به فرد وجود دارد. هر شی در برنامه دارای خصوصیت و رفتاری مستقل از سایر اشیا است و امکان تعامل با اشیا دیگر برنامه را دارد.
شی در برنامه نویسی شی گرا چیست؟
شی اولین و ابتداییترین موجودیت در برنامه نویسی شی گرا است که از آن به منظور طراحی و پیادهسازی برنامه استفاده میکنند. هر شی یک نمونه از کلاس است که ویژگیها و رفتارهای مخصوص به خود را دارد.
کلاس در برنامه نویسی شی گرا چیست؟
کلاس را میتوان مهمترین مفهوم در برنامه نویسی شی گرا دانست. در واقع، بدون وجود کلاس هیچ شی در برنامه نخواهیم داشت. به زبان سادهتر یک کلاس طرح اولیه است که ساختار و رفتار اشیا را مشخص میکند. کلاس را میتوان همانند نقشهای برای ساخت شی در نظر گرفت که بر اساس آن میتوان تعداد بسیار زیادی شی ساخت. برای درک بهتر تفاوت دو مفهوم شی و کلاس در برنامه نویسی به مثال زیر توجه کنید. کلاسی با نامCar را در نظر بگیرید. از این کلاس برای ساخت شی ماشین استفاده میشود. در این کلاس ویژگیهایی همچون رنگ، مدل و سال تولید به عنوان مشخصههای یک ماشین تعیین شده است. حالا با استفاده از این کلاس و تعیین ویژگیهای مورد نیاز میتوان یک ماشین جدید ایجاد کرد. همچنین، در صورت نیاز میتوان ماشینهای دیگری با مشخصات متفاوت از این کلاس ساخت.
تعریف کلاس در سی شارپ
کلاس را میتوان هسته اصلی شی گرایی در سی شارپ دانست. یک کلاس طرح و نقشه ساخت شی را مشخص میکند. توسعه دهندگان با استفاده از کلاس میتوانند نوع داده سفارشی و مدنظر خود را تعریف کنند. ویژگیها و رفتار شی را میتوان به کمک کلاس مشخص کرد.
فیلد های کلاس
فیلدهای یک کلاس در سی شارپ متغییرهایی هستند که دادههای مربوط به یک شی از کلاس را ذخیره میکنند. در واقع، فیلدهای کلاس نشان دهنده صفات یا ویژگیهای یک شی هستند. فیلدهای کلاس را میتوان با سطوح دسترسی مختلف همچون عمومی، خصوصی، محافظت شده و سایر موارد تعریف کرد. به عنوان مثال، کلاسی که یک خودرو را نشان میدهد میتواند فیلدهایی همچون سال تولید، رنگ، مدل، حداکثر سرعت، شتاب و سایر موارد را داشته باشد. امکان دسترسی، مقداردهی و اصلاح فیلدهای کلاس با استفاده از متدهای داخل کلاس وجود دارد.
متد های کلاس متدهای کلاس در سی شارپ نشان دهنده رفتار یا اعمالی هستند که اشیا یک کلاس میتوانند انجام دهند. در واقع، متدهای یک کلاس رفتار و عملکرد شی را مشخص میکنند. متدها به صورت توابع مختلف در کلاس تعریف میشوند. به عنوان مثال، کلاسی که یک خودرو را نشان میدهد میتواند متدهایی همچون حرکت کردن، ترمز گرفتن، روشن شدن و سایر موارد را داشته باشد. با استفاده از متدها میتوان به فیلدهای کلاس دسترسی داشت و عملیات مختلف را بر روی آنها انجام داد. به طور خلاصه، فیلدهای کلاس وضعیت یا دادههای شی و متدهای کلاس رفتار یا اقدامات قابل انجام بر روی شی را تعریف میکنند.
تابع سازنده کلاس
تابع سازنده کلاس یک متد خاص است که تنها در زمان ایجاد شی از کلاس فراخوانی میشود. این تابع مسئولیت مقداردهی اولیه به شی ساخته شده از کلاس را برعهده دارد. تابع سازنده همنام کلاس است و مقدار بازگشتی نیز ندارد. قطعه کد زیر تابع سازنده کلاس در سی شارپ را نشان میدهد.
public class MyClass
{
private int myField; // Constructor
public MyClass()
{
myField = 0; // Set initial value for the field
}
}