ehsan_faal
پنج شنبه 30 بهمن 1393, 12:36 عصر
سلام دوستان.
من تازه دارم روی مفاهیم شی گرایی کار میکنم و یه سوال واسم پیش اومده، امیدوارم بتونید کمکم کنید:
متد replaceAll که واسه جایگزینی یه قسمتی از یه رشته با یه رشته دلخواه استفاده میشه رو در نظر بگیرید،از نحوه فراخوانیش معلومه که به طور مستقیم شی رو بهش پاس نمیدیم و مثلا یه سازنده ای قبلش وجود داره که رشته رو میسازه و قاعدتا این متد هم به اون رشته دسترسی داره.
String Str="Hello World!";
Str=replacAll("W","w");
حالا سوال من اینجاست که چه جوری این متد رو نوشتن که میشه بلافاصله بعد از این که یه بار این متد فراخوانی بشه با گذاشتن یه دات دوباره فراخوانیش کرد؟
یعنی منظورم اینه که برای اینکه این تغییرات روی شی رشته ذخیره بشه حتما باید اون رو بریزم توی یه رشته دیگه و طبق چیزی که من تا حالا تست کردم استفاده از این متد بدون مقدار بازگشتی هیچ فایدهای نداره و اینجور نیست که شی رو آپدیت کنه.خب حالا اگه با یه بار استفاده از این متد شی آپدیت نمیشه یعنی شی جدیدی ساخته نمیشه پس چطور این متد که غیر مستقیم شی رو میگرفت میتونه چندین بار پشت سر هم استفاده بشه؟
String Str="Hello World!";
Str=replacAll("W","w").replaceAll("H","h");
من تازه دارم روی مفاهیم شی گرایی کار میکنم و یه سوال واسم پیش اومده، امیدوارم بتونید کمکم کنید:
متد replaceAll که واسه جایگزینی یه قسمتی از یه رشته با یه رشته دلخواه استفاده میشه رو در نظر بگیرید،از نحوه فراخوانیش معلومه که به طور مستقیم شی رو بهش پاس نمیدیم و مثلا یه سازنده ای قبلش وجود داره که رشته رو میسازه و قاعدتا این متد هم به اون رشته دسترسی داره.
String Str="Hello World!";
Str=replacAll("W","w");
حالا سوال من اینجاست که چه جوری این متد رو نوشتن که میشه بلافاصله بعد از این که یه بار این متد فراخوانی بشه با گذاشتن یه دات دوباره فراخوانیش کرد؟
یعنی منظورم اینه که برای اینکه این تغییرات روی شی رشته ذخیره بشه حتما باید اون رو بریزم توی یه رشته دیگه و طبق چیزی که من تا حالا تست کردم استفاده از این متد بدون مقدار بازگشتی هیچ فایدهای نداره و اینجور نیست که شی رو آپدیت کنه.خب حالا اگه با یه بار استفاده از این متد شی آپدیت نمیشه یعنی شی جدیدی ساخته نمیشه پس چطور این متد که غیر مستقیم شی رو میگرفت میتونه چندین بار پشت سر هم استفاده بشه؟
String Str="Hello World!";
Str=replacAll("W","w").replaceAll("H","h");