دوره زبان تخصصی برای برنامه‌نویسان (هدیه ویژه ثبت‌نام در دوره‌های متخصص) (فرصت محدود ⏰)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Mohsen Khaled
instance
پوریا شفیعی حل شده توسط پوریا شفیعی

instance‌ها خودشون هم میتونن یک classباشن زیرمجموعه class کلی؟مثلا Persian Cat میتونه یک کلاس باشه زیرمجموعه کلاس کلی که Cat هست؟

سلام و احترام

 

instance یا object یا شی یا نمونه به معنای این هست که از یک کلاس مثلا Animal هر چند تا نمونه بسازیم 

مثلا یک نمونه به نام cat یک نمونه به نام dog یک نمونه به نام forg و غیره.

persianCat میتونه یک instance باشد از کلاس Cat.

یا اینکه 

PersianCat میتونه یک کلاس باشه که کلاس Cat رو ارث بری کرده باشه.(در جلو‌تر با مفهوم ارث بری اشنا میشید)

 

ویرایش :

ما یک کلاس داریم به نام Car که یک سری ویژگی‌های مشترک رو این کلاس داره مثلا تایر,سرعت,موتور 

این ویژگی‌ها در تمام ماشین‌ها یکسان هستن

اما میایم یه ماشین تولید میکنیم BMW که این BMW علاوه بر اون ویژگی‌ها یک ویژگی دیگه اضافه داره به نام دنده اتومات 

ما این ویژگی یعنی دنده اتومات رو نمیتونیم به Car نسبت بدیم چرا که سایر ماشین‌ها مثلا Pride این ویژگی رو ندارن

پس مجبور میشیم یک کلاس مجزا براش بسازیم .

یا در مورد سوال شما ما کلاس Cat رو داریم که که کلاس Cat یک سری ویژگی‌های مشترک بین تموم گربه‌ها داره مثلا رنگ,نژاد اما ممکنه PersianCat یک ویژگی داشته باشه که این نوع گربه رو از سایز گربه‌ها متمایز کنه پس برای PersianCat یک کلاس میسازیم که هم ویژگی‌های Cat رو داشته باشه و هم ویژگی‌های مختص PesianCat .

اما با این تفاوت‌ها برسیم به پاسخ اولین سوالتون ببینین PersianCat هم میتونه instance ی از Cat باشه persianCat که در این صورت نمیتونه ویژگی‌های خودشو بهش نسبت بدیم  ولی همونطور که در بالا گفتم PersianCat میتونه خودش یه کلاس مجزا باشه به نام PersianCat که علاوه بر ویژگی‌های خودش, ویژگی‌های Cat رو هم داره .

پس بله PersianCat خودش یک کلاس زیر مجموعه از Cat هست که ویژگی‌های بیشتری از Cat رو داراست.

نکته :

برای نام گذاری کلاس از روش UpperCase نام گذاری رو انجام میدهیم یعنی PersianCat 

اما برای نام گزاری instance از روش camelCase نام گذاری رو انجام میدهیم یعنی persianCat

این نکته رو گفتم چرا که در توضیحاتم این مورد رو رعایت کردم که با این دید بخونید.

در ادامه با ارث بری آشنا میشید که این مورد رو بهتر یاد خواهید گرفت

امیدوارم به خوبی براتون توضیح داده باشم.

موفق باشین

بهترین پاسخ
پوریا شفیعی ۲۳ اسفند ۱۳۹۹، ۱۰:۴۹