کلاس نوع گسترش یافتهای از یک ساختمان دادهس که غیر از نگهداری اطلاعات، میتونه دارای توابعی باشه.
و شیء نمونه ای از یک نوع کلاس هست. و از دید متغیرها، کلاس نوعی داده ست که شیء نوعی متغیر از اون نوع داده محسوب میشه.
استفاده از شیءگرایی برای وقتیه که شما میخواین اطلاعاتی از یک داده باشید و همچنین توابع خاصی که روی اون داده کار کنن و همه اینها به هم مربوط هستن.
یکی از فواید نوشتن کلاس اینه که اطلاعات و دستورات مربوط به یک سری اطلاعات تا جای امکان در یک بسته نوشته بشن که هر وقت مشابه اون کد مورد نیاز بود بشه از همون استفاده کرد و نیازی به نوشتن دوباره کد نباشه.
و در همین مورد استفادهی کلاسها از هم مطرح میشه و نحوهی دسترسی کلاسها به همدیگه.
اینجا مثالی از یک کلاس رو داریم:
class class_name {
access_specifier_1:
member1;
access_specifier_2:
member2;
...
} object_names;
که حالا کلاس به مفهوم یک الگو از نوعی دادهی مشخصه و با تعریف کردن اشیائی از این نوع میشه کار با شیءگرایی رو شروع کرد.
در واقع کلاس یک مفهوم با خصوصیات تعریف شده ست و اشیاء یک کلاس، مصداقهایی از اون مفهوم در دنیای واقعی هستن که بطور کلی از نوع اون کلاسن ولی جزئیات تعریف شده ی متفاوتی با هم دارن. (مثل آدمها که همگی بطور کلی یک نوع موجودند ولی در خصوصیاتی که برای نوع آدم تعریف میشه، با هم تفاوت دارند.)