ارسالها: 33
موضوعها: 21
تاریخ عضویت: دى 1395
اعتبار:
0
تشکرها: 15
0 بار تشکر شده در 0 پست
با سلام و عرض ادب من دوتا سوال داشتم
اول من میخوام بدونم که مثلا از کجا بفهمیم یک متدی که خودمون تعریف میکنیم چه پارامتری میگیره؟مثلا توی بعضی اموزشا Viewمیگرفت،واقعا از کجا باید فهمید ک چ چیزی باید انتخاب کرد؟
دوم اینکه کجاها باید از context استفاده کنیم،از کجا بفهمیم که چ جاهایی باید از این context استفاده کنیم؟
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
اینکه یه متد چه پارامتری میگیره یا اصلاً به پارامتر نیاز داره یا نه، بستگی به نوع تحلیل شما و طراحی کلاستون داره. اما بعضیجاها که یک متد به ارث برده میشه (از کلاس والد) و قصد داریم اون رو ابطال و رونویسی یا Override کنیم و نسخهی خودمون رو بجاش بنویسیم، باید از همون الگویی که توی کلاس والد بکاررفته پیروی کنیم و امضای متد ما (شامل نام متد، تعداد و نوع پارامترها و استثناهایی که تولید میکنه) با متدی که به کلاسمون ارث رسیده یکسان باشه وگرنه بجای Override کردن داریم Overload میکنیم (دو متد همنام با دو امضای مختلف تعریف میکنیم).
درمورد سؤال دوم شما که مربوط به Context هست، برخی از عناصر مثل Toast و Dialog و Fragment و... نیاز به یک فضای زمینه برای اجرا دارن که میتونه یک اکتیویتی یا فضای کلی برنامه باشه. به این فضای زمینه اصطلاحاً میگیم Context و اینکه بفهمیم از چه فضای زمینهای باید در کجا استفاده کنیم، بستگی به متدی داره که داریم صدا میزنیم که بهمرور با بالارفتن تجربهی کاری، دستتون میاد که کجاها باید از چه زمینهای استفاده کنید. برخی جاها هم ممکنه بشه از چند فضای زمینهی مختلف بجای هم استفاده کنیم که اینهم برحسب تجربه بدست میاد و اگه جایی ابهامی وجود داشت میتونین بپرسین.