ایجاد شیء از یک کلاس
با سلام به همه دوستان و اساتید گرامی
وقتی کلاسی رو ایجاد می کنیم و بخوایم از اون کلاس، در یک کلاس دیگه شیء ایجاد کنیم، مثل کد زیر با خطا مواجه میشیم! (منظورم ایجاد شیء در بدنه کلاس دیگری که تابع سازنده ندارد)
namespace learnForm { class math { public string name = ""; } class math_B { math x = new math(); //x خطا - نمی شود به اعضای کلاس دسترسی پیدا کرد } }
اما وقتی کلاسی رو ایجاد می کنیم و بخوایم از اون کلاس، در یک کلاس دیگه شیء ایجاد کنیم، مثل کد زیر با موفقیت مواجه میشیم! (منظورم ایجاد شیء در بدنه کلاس دیگری که تابع سازنده دارد)
namespace learnForm { class math { public string name = ""; } class math_B { math_B() { math x = new math(); x.name = "mahdi"; } } }
حالا سوال اینجاست؟؟؟
برای ایجاد شیء از یک کلاس در یک کلاس دیگر، کلاس مقصد حتما باید متد سازنده داشته باشه؟؟؟ درست متوجه شدم؟؟؟
سپاس بیکران
1 پاسخ
سلام دوست عزیز، شما داخل بدنه یک کلاس به صورت مستقیم می تونید یک شئ ایجاد کنید، اما برای دسترسی به اعضای کلاس حتماً باید داخل یک متد یا سازنده این کار رو انجام بدید. در مثال اول عملیات ایجاد شئ بدون مشکل انجام میشه، اما همونطور که خودتون هم گفتید امکان دسترسی به x وجود نداره، اما تو مثال دوم به این خاطر که داخل سازنده کد مورد نظر رو نوشتید کد بدون مشکل اجرا میشه.
اینطور میشه گفت، امکان ایجاد یک شئ از کلاس داخل یک کلاس دیگه وجود داره (منظورم بدنه اصلی کلاس هست)، اما نمیشه به اعضای کلاس دسترسی داشت.