PDA

View Full Version : کاربرد اصلی متدهای static



ali_mnkt
پنج شنبه 22 تیر 1391, 10:46 صبح
سلام

خوب همه ما تعریف متدها و فیلد های static رو کم وبیش می دونیم . از نظر مفهومی خصوصیات static بیشتر قابل فهم هستن ، خوب با یم مثال سئوالم رو مطرح می کنم :
فرض کنید کلاس صندوق رو پیاده سازی کردیم و 5 شی از اون ایجاد کردیم اگر بخواهیم بفهمیم که هر صندوق چقدر پول دریافت کرده اند باید یک فیلد static در نظر بگیریم و درآمد های صندوق ها رو در اون بریزیم و با هم جمع کنیم . خوب این مشکلی نداره اما مفهوم متد های static یکم نامفهومه چون ما باید متدی ایجاد کنیم که در سطح کلاس باشه و نه در سطح شی . کسی می تونه یک مثال خوب برای متدهای static بزنه ؟
آیا متد های static ایجاد شده اند که برای دسترسی به آنها نیازی به ایجاد شی از کلاس نباشه ؟ خوب این چه مزیتی داره ؟

ali_mnkt
پنج شنبه 22 تیر 1391, 22:59 عصر
کسی نمی تونه کمک کنه ؟

fakhravari
پنج شنبه 22 تیر 1391, 23:26 عصر
کلاس‌های static

کلاس‌ها به صورت Static قابل تعریف نیستند مگر اینکه تمام اعضای آنها Static باشند.
کلا اجزای استاتیک (متدها، خاصیتها و ...) برای استفاده نیاز به نمونه سازی ندارند.
یعنی وقتی شما مثلا یک متد را در یک کلاس به صورت Static تعریف کنید، برای دسترسی به آن نیازی به نمونه سازی آن کلاس ندارید و میتوانید با استفاده از نام آن کلاس به متد دسترسی داشته باشید.مقادیر در یک متغیر Static تا پایان برنامه پایدار هستند
این ها کمی با سرچ میتونی اطلاعات بیشتری پیدا کنی