برو به محتوای اصلی
۵ سال پیش پرسیده شده

در برنامه‌نویسی جاوا، کلاس و شئ چه تفاوتی باهم دارند؟

من کجام؟ اینجا کجاست؟

در جوابکو می‌تونید در مورد هر موضوعی سوال کنید، به سوالای بقیه جواب بدید و تجربه‌تون رو به اشتراک بگذارید!

مهدی محمدی
برنامه نویس، توسعه دهنده بازی

کلاس یک قالب و کلیت است درحالی که شئی از نوع آن کلاس، یک نمونه‌ی ساخته شده در قالب آن کلاس میباشد. به عنوان مثال: یک ورقه‌ی سفید امتحانی که معلم یا استاد طراحی کرده و تمامی سوال‌ها و جای خالی‌ها و تیک‌ها و 4 گزینه‌ای‌هایش را فرض کنید. اگر این برگه، یک کلاس باشد، کپی آن که دانش‌آموزان و دانشجویان پر میکنند، شئ یا نمونه نام دارد.

علی ورزشی
توسعه دهنده شیرپوینت

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