آموزش هوش مصنوعی

مفهوم کلاس Class و شیء Object در برنامه نویسی

مفهوم کلاس Class و شیء Object در برنامه نویسی
عمومی خبری

کلاس مفهومی است که در برنامه نویسی شیء گرا (OOP : Object Oriented Programming) مطرح می شود. هدف از تعریف کلاس تعریف یک نوع داده جدید است. کلاس هم می تواند توسط برنامه نویس ایجاد شود، هم اینکه کلاس هایی از قبل در زبان برنامه نویسی به صورت آماده تعریف شده اند و تشکیل مجموعه‌ای از کلاس های آماده می دهند که به آن ها کتابخانه یا library گفته می شود. بنابراین برنامه نویس می تواند با فراخوانی کتابخانه، از کلاس های تعریف شده در آن استفاده کند.

کلاس چیست؟ (Classes):

از ویژگی های اصلی برنامه نویسی شی گراست. با استفاده از این امکان می توان یک بسته ای را تولید و از طریق آن اشیایی را تحت همان ویژگیها (صفت و متدها) ایجاد نمود. بنابراین می تواند جهت دسته بندی اشیا و نیز سهولت در ایجاد از آنها استفاده کرد.

بنابراین کلاسها قالب هایی برای اشیا هستند. کلاسها را می توان، “طرحهای اولیه” برای اشیا فرض کرد. آنها تمام عضوهای یک شئ را تعیین می کنند، و رفتارهای یک شئ را تعریف می کنند.

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

 حتی می توان کلاسی را تعریف نمود و کلاسهای دیگر نیز از آن به ارث ببرند که البته می توانند شامل بعضی یا همه خصوصیات آن باشند و یا تغییری جزئی در بعضی از خصوصیات انجام شود.

مثل کلاس انسان که می تواند به دو کلاس مرد و زن تقسیم بندی گردد که از کلاس انسان به ارث می برند. ولی مشخص است که کلاس مرد کمی با کلاس زن متفاوت است هرچند هردو  از یک کلاس اصلی به ارث برده اند.

شی چیست؟ (Objects):

شی در واقع یک نمونه از یک کلاس است . وقتی که یک کلاس مقدار دهی شد، یک نمونه درون حافظه ای از آن کلاس ساخته می شود. این نمونه شئ نامیده می شود.  یک عنصر شامل مجموعه ای از یک و یا چندین شی نظیر یک کتابخانه کلاس در یک DLL است .

نحوه تعریف کلاس مانند structure است. برای تعریف کلاس در زبان ++C طبق الگوی زیر از کلمه کلیدی Class استفاده می شود.

Class className{

//Private Variables and Functions

Public:
//Public Variables and Functions

Private:
//Private Variables and Functions

Protected:
//Protected Variables and Functions

};

همان طور که مشاهده می شود، عناصر کلاس می توانند در سه سطح خصوصی (Private)، عمومی (Public) و یا محافظت شده  (Protected) تعریف شوند. عناصر خصوصی عناصری هستند که فقط از داخل کلاس اجازه دسترسی به آن ها وجود دارد. این ویژگی یکی از خصوصیات مهم برنامه نویسی شیء گرا است که به آن محرمانگی یا Encapsulation گفته می شود. عناصر عمومی هم در داخل هم در خارج از کلاس اجازه دسترسی دارند. عناصر محافظت شده مانند عناصر خصوصی هستند، ولی از طریق کلاس هایی که از کلاس مد نظر ارث بری می کنند و نیز از طریق کلاس های دوست قابل دسترسی هستند. توجه کنید که عناصر کلاس به طور پیش فرض خصوصی هستند؛ لذا می توان کلمه private را قرار نداد.

مطلب پیشنهادی:  اشاره‌گر this در ++C

شیء Object

وقتی در برنامه خود یک instance از کلاس بگیریم، به عبارت ساده تر وقتی در برنامه یک متغیر از جنس کلاس تعریف کنیم، به آن یک “object” یا “شیء” گفته می شود. بنابراین شیء، نمونه ای از کلاس و کلاس توصیف کننده شیء است.

دسترسی به عنصری از کلاس

اگر بخواهیم به عنصری از کلاس، خارج از آن کلاس دسترسی داشته باشیم؛

اولاً آن عنصر باید از نوع public تعریف شده باشد، در غیر این صورت اجازه دسترسی به ما داده نمی شود. دوماً یک object از کلاس مد نظر می گیریم. سپس با نوشتن نام  object و بعد “.” می توانیم به عناصر کلاس دسترسی داشته باشیم. این عنصر می تواند یک متغیر کلاس، یا یک تابع تعریف شده در کلاس یا یک رخداد (Event) باشد.

 

اطلاعات بیشتر برای درک عمیق تر

اگر با مفهوم استراکچر یا ساختمان در برنامه نویسی سی و سی پلاس پلاس آشنا نیستید می‌توانید به آموزش ساختمان یا استراکچر (struct) در زبان برنامه نویسی C مراجعه کنید. و همچنین ما قبلا یک نوشته‌ای برای لایبری های آردوینو نوشته بودیم و در مقدمات آموزش، مفاهیم کلاس و شیء ++C را کاملا بررسی کردیم و به زبان خیلی ساده بیان کردیم تا دوستان متوجه موضوع بشن، در نوشته چگونه یک کتابخانه آردوینو بنویسیم؟ این مفاهیم را بخوانید. همچنین اگر خیلی دوست داشتین با نکات پیشرفته زبان سی پلاس پلاس آشنا بشید نوشته نکات برنامه نویسی پیشرفته C و ++C – اشاره گر های تابعی، typedef ، const را بخوانید.

مطلب پیشنهادی:  شروع کار با GUI در نرم افزار Qt

دوستان عزیز این مطالب یک خلاصه ای کوتاه و خیلی ساده از مفهوم کلاس (Class) و شیء (Object) در برنامه نویسی ++C بود و برای اطلاعات بیشتر به لینک های بالا و یا یک کتاب برنامه نویسی زبان سی پلاس پلاس مراجعه کنید.

خواندن بیشتر

  1. 7 مزیت هوش مصنوعی در آموزش
  2. 5 نقش اصلی هوش مصنوعی در آموزش
  3. هوش مصنوعی در آموزش(تعریف یونسکو و نقش هوش مصنوعی)
  4. 7 روش برتر استفاده از هوش مصنوعی در آموزش
  5. تحولات پیش روی هوش مصنوعی در آموزش و پرورش
  6. کاربرد هوش مصنوعی در آموزش چیست؟
بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

محصولات تراست
عمومی خبری
لیست 11 تا از بهترین محصولات تراست از نگاه مشتریان

بهترین محصولات تراست را می شناسید؟  میدانستید یکی از بهترین برند های تولید شده در کشوره؟ می دانید تمامی محصولات تاییدیه دانشگاه لوزان سوئیس رو داره؟ ا

عمومی خبری
نمایندگی فروش پانل گچی جی برد

نمایندگی فروش پانل گچی جی برد گچ برگ جی برد یکی از بروز ترین صفحات روکش دار گچی که به تازگی در ایران شروع به تولید نموده است از لحاظ کیفیت به دو نوع، درجه یک و درجه دو تقسیم بندی میشود. درجه یک از لحاظ قیمت نسبت به درجه …

NFT چیست و چطور کار می کند؟
عمومی خبری
NFT چیست؟ هرآنچه باید در مورد توکن غیرقابل تعویض بدانید

NFT چیست و چطور کار می کند؟ | همه چیز درباره توکن غیر قابل معاوضه ان اف تی