PDA

View Full Version : سوال: صفت ها و رفتار های یک شیء؟



MiniMicro
چهارشنبه 16 بهمن 1392, 10:05 صبح
سلام دوستان تو مبحث شیء گرایی،شیء به چیزی گفته میشه که یه سری صفات داره و رفتارهای خاصی رو از خودش بروز میده برای مثال ماشین یه شِیء هست صفات اون هم مثلاً جنس بدنه و... و رفتارش هم حرکت کردن،بوق زدن و... یک شیء ای مثل کت یا شلوار یه صفاتی دارن مثل رنگ و نوع پارچه اما رفتارهاش چین؟؟؟

cups_of_java
چهارشنبه 16 بهمن 1392, 12:05 عصر
شما لزومن نمی تونی هر چیزی که تو دنیای واقعی هست رو با همون تفکر عادی به شی تبدیل کنی. این سوالی که برات پیش اومده خیلی موضوع رایجی میتونه باشه.
خیلی وقتا شی هایی هستن که بیشتر حالت و وضعیت (یا همون مشخصه) دارن تا رفتار... مثل همین کت و شلوار
خیلی وقتا هم شی هایی هستن که بیشتر رفتار دارن تا خصوصیات مثل دلال ها یا برنامه ریزها یا ...

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

MiniMicro
چهارشنبه 16 بهمن 1392, 12:16 عصر
ممنون از پاسخ خوبتون آیا در یک سیستم بخواهیم قیمت مثلن یک کت رو حساب کنیم آیا این قیمت رو میشه به عنوان یک رفتار برای این کت در نظر گرفت؟

cups_of_java
چهارشنبه 16 بهمن 1392, 14:24 عصر
شاید آره شاید نه!
بزار اینطوری بگم:
اگر توی محاسبه قیمت از خصوصیات کت بیشتر استفاده میشه!!! یعنی مثل اندازه و متراژ پارچه و رنگ و مدل یقه و... خب آره بزارید توی کت که نزدیک به همون خصوصیات باشه که بهش احتیاج داره!
اگر توی محاسبه قیمت از خصوصیات دیگه ای استفاده میشه که توی کلاس های دیگه هستن اونوقت بزاریدش توی اون کلاسی که نزدیک ترین خصوصیات و بیشترینش اونجا هستن

حتمن متوجه شدید فلسفه شی گرایی نزدیک کردن عملیات به داده های مورد نیازش هست! نه همین طوری کلاس و متد تعریف کردن!
متد رو تو کلاسی بزارید که حاوی بیشترین خصوصیات (داده های) مورد نیاز اون متد هستش تا خیلی مجبور نباشه به جاهای دیگه دسترسی داشته باشه تا داده های مورد نیاز رو بگیره!