PDA

View Full Version : آموزش: درباره static



omidaminiazar
جمعه 21 مهر 1391, 15:21 عصر
ببخشید در جاوا یا هر برنامه دیگر static به چه منظور است یا در کجا کاربرد دارد و چه کاری را انجام می دهد.

spiderman200700
شنبه 22 مهر 1391, 14:53 عصر
http://www.javatutorialhub.com/java-static-variable-methods.html

reza_zah1991
چهارشنبه 26 مهر 1391, 13:20 عصر
Static مثل رفرنس یا مرجع عمل میکنه
یه مثال میزنم.
یه کلاس داری که کلا ۲تا فیلد داره..یکیش static هست ولی اون یکی نیست
حالا تو میای ۱ آبجکت میسازی.
و به دوتا فیلد آبجکتت مقدار میدی
وقتی که یه آبجکت دیگه ساختی.
اون فیلد static آبجکت دومیه مقدار همین فیلد توی آبجکت اول رو داره
حالا اگه بیای مقدار فیلد static آبجکت دومی رو دوباره تغییر بدی..مقدار همین فیلد واسه آبجکت اول هم تغییر میکنه
یعنی کلا ازین به بعد هرچی آبجکت ساختی..فیلد های static اونها یک مقدار ثابت دارن و از ۱ جا میگیرنش

spiderman200700
چهارشنبه 26 مهر 1391, 23:03 عصر
اینطوری که میگی نیستا!!!!

pro_mvb
جمعه 28 مهر 1391, 16:50 عصر
این هم میتونه تعریفی باشه ولی در کل بهتر بگی که وقتی چیزی به صورت static در نظر گرفته میشه (متغیر یا متد) دیگه برای دسترسی بهش نیاز به ساختن آبجکت از کلاسش نداری کافیه فقط نام کلاس و سپس متد رو بدی.
به درد جایی میحوره که تو نباید از آبجکت گرفتن استفاده کنی. معمولا این خصوصیت ها در design pattern ها مورد توجه قرار میگیرن.

البته این چیزهایی که گفتم در حد سواد من بود.

reza_zah1991
دوشنبه 01 آبان 1391, 18:58 عصر
این مفهوم به نظرم درسته
و تناقضی هم تاحالا پیدا نکردم
میدونی از اونجایی که شی گرایی یه مقوله ی کاملا فلسفی هست
این استاتیک هم از همونجاست
توی فلسفه میگن.
هر چیزی که ما توی این دنیا میبینیم
یه حقیقت محض داره
مثلا مثلث
این مثلثایی که ما میشناسیم..همه ابعاد دارن ولی اون مفهوم در یه عالم دیگه ابعاد و رنگ و اینا نداره
فقط یه قانون داره اونم مجموع زوایاش ۱۸۰
که وقتی ما یه فیلد رو static میکنیم.
درواقع میگیم این فیلد یه فیلد پدر و اصلی و مرجع هست
حالا نمیدونم اینایی که گفتم کلا غلط بود یا درست

spiderman200700
سه شنبه 02 آبان 1391, 00:57 صبح
نه درست بود. من منظورتونو بد فهمیده بودم. عذر میخوام

reza_zah1991
چهارشنبه 03 آبان 1391, 20:01 عصر
خواهش دارم.
عذر خواهی نمیخواد

همایون افشاری
دوشنبه 08 آبان 1391, 17:10 عصر
در مورد متد static میشه گفت امکان دسترسی به اون بدون نیاز با ساخت instance از کلاس وجود داره.
در مورد متغیر static میشه گفت که برای تمام instance های یک کلاس حالت Global داره.
اما میشه داخل یه کلاس، کلاس دیگه ای رو به شکل static تعریف کرد. این کلاس می تونه کاربرد های مختلف داشته باشه که بسیار جالبه. (در بعضی از Design Pattern های خاص از این قابلیت استفاده میشه)
http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

maktoom
پنج شنبه 25 آبان 1391, 22:51 عصر
سلام
در جایی که یک سشن وجود داره و در همون یک سشن بخواید به مقداری از کلاسای دیگه دسترسی داشته باشید استاتیک میتونه یه راه حل کلیدی باشه.
این موضوع وقتی معضل میشه که نخواید از دیتابیس توی این قسمت از برنامتون اسفاده کنید. یعنی بخواید اون مقدار دائم در دسترستون باشه. که می تونه مثلا id یک ردیف از اطلاعات باشه.