erfan4

سوال درمورد استفاده از متود های تو در تو

6 ارسال در این موضوع قرار دارد

با سلام خدمت تمام دوستان:rolleyes:

دوستان من یه مدته تو برنامه نویسی به مشکل بر خوردم.

به دوتا عکسی که پیوست کردم نگاه کنید.

5841b796c956e_Screenshot(5).png.4f973c993ddbf480fb744aaf7633ab05.png

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما هروقت سؤالی به این شکل داری، اروری که IDE میده رو هم بنویس که بشه راحت تر راهنمایی کرد .

اگر اشتباه نکنم، شما داری متدهای موجود توی جاوارو دوباره نویسی میکنی . اگر اینطور هست، باید قبل از متد مذکور، @Override قرار بدی به این شکل :

[align=left][shcode=java]

@Override

public void onClick(View V)

{

    //anything U want

}

[/shcode]

[align=right]اگه چند لحظه روی خود متد هم با موس بایستی، خودش توی ی لیست، گزینه اضافه کردن Override رو هم نمایش میده .

البته، شما کار عجیبی توی کدت کردی ! توی ی متد، ی متد دیگه تعریف کردی . این کاملا با مفاهیم جاوا تناقض داره ! پیشنهاد میکنم جاوارو خوب مطالعه کنید . این کدی که نوشتی، از ریشه اشتباه هست .[/align]

[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما هروقت سؤالی به این شکل داری، اروری که IDE میده رو هم بنویس که بشه راحت تر راهنمایی کرد .

اگر اشتباه نکنم، شما داری متدهای موجود توی جاوارو دوباره نویسی میکنی . اگر اینطور هست، باید قبل از متد مذکور، @Override قرار بدی به این شکل :

[align=left][shcode=java]

@Override

public void onClick(View V)

{

    //anything U want

}

[/shcode]

[align=right]اگه چند لحظه روی خود متد هم با موس بایستی، خودش توی ی لیست، گزینه اضافه کردن Override رو هم نمایش میده .

البته، شما کار عجیبی توی کدت کردی ! توی ی متد، ی متد دیگه تعریف کردی . این کاملا با مفاهیم جاوا تناقض داره ! پیشنهاد میکنم جاوارو خوب مطالعه کنید . این کدی که نوشتی، از ریشه اشتباه هست .[/align]

[/align]

ممنون از پاسخ شما دوست عزیز

دوست گرامی این متودی که من استفاده کردم در جاوا وجود نداره ولی جای دیگه امتحانش کردم و کار میکنه مشکل نداره هر چند اگر متود جاوا هم بذارم ارور میده

بله سوال منم دقیقا همینه اگر در جاوا یه متدو توی یه متد دیگه استفاده کنم ارور میده ولی من مجبوری این کارو کنم به عکس دوم توجه کنید

من یه سرویس تعریف کردم که کارایی که میخوام سرویس انجام بده باید در قسمت yourcode بنویسم.

خب حالا بلفرض من میخوام یه برنامه بنویسم که با اجرا شدن سرویس یه کارو انجام بده حالا شاید کاری که میخوام انجام بشه یه متد بود و باید اونو تو قسمت yourcode بنویسم اما اگر این کارو بکنم خطا میگیره ولی من چاره دیگه ندارم مثالشم تو عکس دوم میبینید

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

اما شاید ما یه روز یه متد داشته باشیم که بخوایم کاری انجام بده و کار ما هم خودش یک متد باشه اونوقته که باید یه متودو توی یک متد دیگه بنویسیم و در نتیجه ارور میده

من میخوام بدونم اگه لازم باشه از یک متود توی یک متد دیگه استفاده کنم باید چی کار کنم و اگر نمیشه پس تکلیف من چیه مثلا همین عکس دومو به چه صورت دیگه میتونم بنویسیسم که همین کارو برای من انجام بده؟:-/

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما هروقت سؤالی به این شکل داری، اروری که IDE میده رو هم بنویس که بشه راحت تر راهنمایی کرد .

اگر اشتباه نکنم، شما داری متدهای موجود توی جاوارو دوباره نویسی میکنی . اگر اینطور هست، باید قبل از متد مذکور، @Override قرار بدی به این شکل :

[align=left][shcode=java]

@Override

public void onClick(View V)

{

    //anything U want

}

[/shcode]

[align=right]اگه چند لحظه روی خود متد هم با موس بایستی، خودش توی ی لیست، گزینه اضافه کردن Override رو هم نمایش میده .

البته، شما کار عجیبی توی کدت کردی ! توی ی متد، ی متد دیگه تعریف کردی . این کاملا با مفاهیم جاوا تناقض داره ! پیشنهاد میکنم جاوارو خوب مطالعه کنید . این کدی که نوشتی، از ریشه اشتباه هست .[/align]

[/align]

ممنون از پاسخ شما دوست عزیز

دوست گرامی این متودی که من استفاده کردم در جاوا وجود نداره ولی جای دیگه امتحانش کردم و کار میکنه مشکل نداره هر چند اگر متود جاوا هم بذارم ارور میده

بله سوال منم دقیقا همینه اگر در جاوا یه متدو توی یه متد دیگه استفاده کنم ارور میده ولی من مجبوری این کارو کنم به عکس دوم توجه کنید

من یه سرویس تعریف کردم که کارایی که میخوام سرویس انجام بده باید در قسمت yourcode بنویسم.

خب حالا بلفرض من میخوام یه برنامه بنویسم که با اجرا شدن سرویس یه کارو انجام بده حالا شاید کاری که میخوام انجام بشه یه متد بود و باید اونو تو قسمت yourcode بنویسم اما اگر این کارو بکنم خطا میگیره ولی من چاره دیگه ندارم مثالشم تو عکس دوم میبینید

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

اما شاید ما یه روز یه متد داشته باشیم که بخوایم کاری انجام بده و کار ما هم خودش یک متد باشه اونوقته که باید یه متودو توی یک متد دیگه بنویسیم و در نتیجه ارور میده

من میخوام بدونم اگه لازم باشه از یک متود توی یک متد دیگه استفاده کنم باید چی کار کنم و اگر نمیشه پس تکلیف من چیه مثلا همین عکس دومو به چه صورت دیگه میتونم بنویسیسم که همین کارو برای من انجام بده؟:-/

دوست عزیز، شما برای اینکه از یک متد توی متد دیگه استفاده کنید، نباید همونجا تعریفش کنید .

شما خارج از متد، توی کلاس تعریفش می‌کنید، فقط توی موارد لازم متد مورد نظر رو فراخوانی می‌کنید .

مثلا عینی بخوام بزنم:

فرض کنید شما ی شرکت خودرو سازی دارین ! برای خودروی Y از ی فلز بخصوص استفاده میکنید . رویکردتون دقیقا به این شکله :

هر سری که میخواین اون ماشین رو بسازین، میرید به معدنی که اون فلز به صورت خام موجوده، فلز رو استخراج می‌کنید، به فلز خالص تبدیل میکنید، آلیاژش میکنید و میارید توی خودروتون استفاده میکنید !

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

توضیحاتم خیلی سطح پائین بودن، شاید منظورتونو درست متوجه نشدم، بهرحال ی توضیح اجمالی بود جهت اطلاع دوستانی که نیاز داشتن ...

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما هروقت سؤالی به این شکل داری، اروری که IDE میده رو هم بنویس که بشه راحت تر راهنمایی کرد .

اگر اشتباه نکنم، شما داری متدهای موجود توی جاوارو دوباره نویسی میکنی . اگر اینطور هست، باید قبل از متد مذکور، @Override قرار بدی به این شکل :

[align=left][shcode=java]

@Override

public void onClick(View V)

{

    //anything U want

}

[/shcode]

[align=right]اگه چند لحظه روی خود متد هم با موس بایستی، خودش توی ی لیست، گزینه اضافه کردن Override رو هم نمایش میده .

البته، شما کار عجیبی توی کدت کردی ! توی ی متد، ی متد دیگه تعریف کردی . این کاملا با مفاهیم جاوا تناقض داره ! پیشنهاد میکنم جاوارو خوب مطالعه کنید . این کدی که نوشتی، از ریشه اشتباه هست .[/align]

[/align]

ممنون از پاسخ شما دوست عزیز

دوست گرامی این متودی که من استفاده کردم در جاوا وجود نداره ولی جای دیگه امتحانش کردم و کار میکنه مشکل نداره هر چند اگر متود جاوا هم بذارم ارور میده

بله سوال منم دقیقا همینه اگر در جاوا یه متدو توی یه متد دیگه استفاده کنم ارور میده ولی من مجبوری این کارو کنم به عکس دوم توجه کنید

من یه سرویس تعریف کردم که کارایی که میخوام سرویس انجام بده باید در قسمت yourcode بنویسم.

خب حالا بلفرض من میخوام یه برنامه بنویسم که با اجرا شدن سرویس یه کارو انجام بده حالا شاید کاری که میخوام انجام بشه یه متد بود و باید اونو تو قسمت yourcode بنویسم اما اگر این کارو بکنم خطا میگیره ولی من چاره دیگه ندارم مثالشم تو عکس دوم میبینید

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

اما شاید ما یه روز یه متد داشته باشیم که بخوایم کاری انجام بده و کار ما هم خودش یک متد باشه اونوقته که باید یه متودو توی یک متد دیگه بنویسیم و در نتیجه ارور میده

من میخوام بدونم اگه لازم باشه از یک متود توی یک متد دیگه استفاده کنم باید چی کار کنم و اگر نمیشه پس تکلیف من چیه مثلا همین عکس دومو به چه صورت دیگه میتونم بنویسیسم که همین کارو برای من انجام بده؟:-/

دوست عزیز، شما برای اینکه از یک متد توی متد دیگه استفاده کنید، نباید همونجا تعریفش کنید .

شما خارج از متد، توی کلاس تعریفش می‌کنید، فقط توی موارد لازم متد مورد نظر رو فراخوانی می‌کنید .

مثلا عینی بخوام بزنم:

فرض کنید شما ی شرکت خودرو سازی دارین ! برای خودروی Y از ی فلز بخصوص استفاده میکنید . رویکردتون دقیقا به این شکله :

هر سری که میخواین اون ماشین رو بسازین، میرید به معدنی که اون فلز به صورت خام موجوده، فلز رو استخراج می‌کنید، به فلز خالص تبدیل میکنید، آلیاژش میکنید و میارید توی خودروتون استفاده میکنید !

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

توضیحاتم خیلی سطح پائین بودن، شاید منظورتونو درست متوجه نشدم، بهرحال ی توضیح اجمالی بود جهت اطلاع دوستانی که نیاز داشتن ...

ببخشید دوست عزیز من درست متوجه نشدم باید چکار کنم

میشه مثال عکس دوم که یک سرویس هست کدش رو برای من تصحیح کنید تا بفهمم باید چکار کنم؟

من حتی وقتی متودمو تو خود کلاس مینویسم تا جای دیگه فراخوانی بشه به من اجازه نمیده این کارو کنم در ضمن کد ها تست شده هست و مشکلی نداره تنها خطایی که میگیره همین متود های تو در تو هست

اگه میشه مثلا به من بگید در عکس دوم کد ها رو چکار کنم تا درست بشه در این صورت دقیقا متوجه میشم که چطور از یه متود تو یه متود دیگه استفاده کنم:blush:

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آقا خب مگه چی میشه به من جواب بدید یکی به من پاسخ بده تو همه کارام به مشکل برخوردم به خاطر این:S:s:huh:

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری