بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

پیاده سازی تابع با آرگومان های ورودی مختلف(حل شد)

مدیریت گفتگو
Andronymous 12 سال پیش
آخرین تغییر: 12 سال پیش

سلام دوستان 

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


میخوام تابعم رو هر بار با این ورودی ها صدا بزنم:

sampleFunction(string,int,view);

sampleFunction(int,view);

sampleFunction(string,int);

sampleFunction(view);


چطوری این تابع رو پیاده سازی کنم؟

نظرات

سامان پاپی 12 سال پیش
خیلی خیلی ساده مثل خیلی از تابع های اکلیپس که یه مدت هست با سیگنچر متفاوت شمت تابعت رو صدا میزنی اون وردوی رو که براش گذاشتی رو وارد نسبت وردی برنامه میفهمه کدوم تابع با کدوم سیگنچر منظورتون بوده . امید وارم که تونسته باشم منتقل کرده باشم مطلب رو اگه میخوای خیلی بهتر بفهمی این رو اموزش سی پلاس پلاس داشنگاه صنعتی شریف قسمت اول رو ببین میتونی بری از تخته سیفید ببنیش

پاسخ‌ها 1

javac 12 سال پیش

به این کار میگن overloading یعنی فراخوانی یک تابع با آرگومان های متفاوت، برای overload کردن یک تابع دوراه وجود داره:

1-تغییر تعداد آرگومان ها

2-تغییر نوع داده ( data type) 
مثال:

 public void sample(String str,int number){  
//do..
}

public void sample(String str, View view){
  //do..
}

public void sample(String str, int num1, int num2){
  //do..
}



و الی آخر ....   به این ترتیب موقع فراخوانی مقادیر مختلف میگیره.

 

نظرات

Andronymous 12 سال پیش
ینی منظورتون اینه من چند بار تابع رو بنویسم با امضاهای ورودی مختلف بعد هر بار یکی رو صدا بزنم؟
javac 12 سال پیش
بله دقیقا.موقع فراخوانی با توجه به signature های تعریف شده ورودی مختلف میتونید بدین .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .