تفاوت کلاس و شیء

کلاس و شی‌ء:

کلاس یک مفهوم (Concept) است و شی‌ء یک مصداق یا نمونه (Instance). مانند اینکه: «انسان» یک مفهوم است و «من» یک مصداق یا نمونه. یعنی «انسانِ سالم» (هم از نظر جسمی و هم از نظر روحی) یک موجودی‌ست که دارای خصوصیاتی مانند تکلم، تفکر و… می‌باشد، و «من» (نویسندهٔ این وبسایت) یک مصداق یا نمونه‌ای از این مفهوم است.

متغیری که از نوع کلاس باشد، شی‌ء نام دارد. یک شیء، نمونه‌ای از یک کلاس است. برنامه‌نویس خصوصیات و توابع را در کلاس تعریف می‌کند، در حالی که در شیء از آن‌ها استفاده می‌کند. اطلاعات در شیء ذخیره می‌شوند نه در کلاس. کلاس‌ها ساختار داده‌ها را تعریف می‌کند و نحوه عملکرد آن‌ها.

یکی از ویژگی‌های عالی کلاس‌ها، وراثت است. یک کلاس می‌تواند از کلاس دیگری خصوصیات و عملکردها را به ارث ببرد. مثلا شما می‌خواهید یک کلاس «اتومبیل‌ها» تعریف کنید. به‌راحتی می‌توانید خصوصیات و توابع موجود در کلاس «وسایل نقلیه» را به ارث ببرید؛ زیرا همهٔ اتومبیل‌ها، وسایل نقلیه هستند. و دیگر نیاز به نوشتن مجدد خصوصیات و توابع موجود نیست. در این حالت به کلاس وسایل نقلیه، کلاس والد یا Parent Class یا Super Class یا Base Class گفته می‌شود و به کلاس اتومبیل‌ها، کلاس فرزند یا Child Class یا Sub Class گفته می‌شود.

توجه: در زبان‌های شیءگرا مثل سی++ و جاوا وقتی می‌خواهید به یک چیزی دسترسی پیدا کنید باید یک نمونه‌ی (Instance) Object از آن داشته باشیم و یا آن چیز Static باشد و مستقیم از آن رفرنس بگیریم و استفاده کنیم.