ورود

نسخه کامل مشاهده نسخه کامل : استفاده از يك آرايه ها در چند كلاس



MaFia_King
07-06-2009, 20:25
سلام

دوستان من در C# يه برنامه نوشتم كه اعدادي رو از ورودي مي گيريد و در آرايه اي قرار مي دهد.
در همين برنامه يه كلاسي تعريف كردم كه مي خوام از اين آرايه كه در بالا ذكر كردم توي اين كلاس استفاده كنم.
لطف كنيد يه راهنمايي كنيد كه من چطور مي تونم از اين آرايه در اين كلاس(و چند كلاس ديگر) استفاده كنم.؟

ممنون:11:

عــــلی
07-06-2009, 22:56
سلام

دوستان من در C# يه برنامه نوشتم كه اعدادي رو از ورودي مي گيريد و در آرايه اي قرار مي دهد.
در همين برنامه يه كلاسي تعريف كردم كه مي خوام از اين آرايه كه در بالا ذكر كردم توي اين كلاس استفاده كنم.
لطف كنيد يه راهنمايي كنيد كه من چطور مي تونم از اين آرايه در اين كلاس(و چند كلاس ديگر) استفاده كنم.؟

ممنون:11:

سلام دوست عزیز.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]سی شارپ(#C) کد:

در کلاس خود کد زیر را تایپ کن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

کد بالا یک آرایه دریافت کرده و به شما آرایه 0 رو نمایش میده برای استفاده روی فرمت یه باتون بساز و در اون کد زیر رو تایپ کن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خوب در کلاس بالا تو فقط میتونی آرایه رو مشاهده کنی حالا اگه بخوای اونو در کلاس تغییر بدی باید از کد زیر استفاده کنی، کد زیر رو در کلاس تایپ کن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا کد زیر رو تو باتون فرم بزار:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

میبینی که مقدار آرایه تغییر کرد.اگه مشکلی داشتی سوال کن:46:.
قربانت علی:11:.

MaFia_King
07-06-2009, 23:21
سلام

ممنون از راهنماييتون.
++++++++++
ولي من اين برنامه رو در قسمت كنسول نوشتم.!!(در اون قسمت هم يه توضيحي بديد؟)
البته در مقياس كوچك خواستم اين رو ياد بگيرم.ولي اين برنامه مربوط مي شه به يك پروژه ي پايان ترم كه در ان بيش از 30 آرايه تعريف كردم،
اين برنامه رو يه بار نوشتم ،ولي استاد مون گفته بايد در چند كلاس اين پروژه طراحي بشه.منم خواستم تمامي آرايه ها رو در يك كلاس تعريف كنم و ورودي برنامه در اين كلاس باشه و در كلاس هاي بعدي روي اين اطلاعات دريافتي اعمالي انجام بشه!!
+++++++++
اگر مي شه در اين مورد توضيح بديد؟

ممنون

عــــلی
08-06-2009, 10:15
سلام

ممنون از راهنماييتون.
++++++++++
ولي من اين برنامه رو در قسمت كنسول نوشتم.!!(در اون قسمت هم يه توضيحي بديد؟)
البته در مقياس كوچك خواستم اين رو ياد بگيرم.ولي اين برنامه مربوط مي شه به يك پروژه ي پايان ترم كه در ان بيش از 30 آرايه تعريف كردم،
اين برنامه رو يه بار نوشتم ،ولي استاد مون گفته بايد در چند كلاس اين پروژه طراحي بشه.منم خواستم تمامي آرايه ها رو در يك كلاس تعريف كنم و ورودي برنامه در اين كلاس باشه و در كلاس هاي بعدي روي اين اطلاعات دريافتي اعمالي انجام بشه!!
+++++++++
اگر مي شه در اين مورد توضيح بديد؟

ممنون

اینکه کاری نداره فقط ب ه جای MessageBox.Show بزار Console.Write، مثل زیر:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فاطـمه
08-06-2009, 11:52
من درس متوجه منظورتون نمیشم
ولی اگر آرایه ای رو که تعریف کردین سراسری تعریف کنید مسلما تو کلاسها هم می تونید بهش دست رسی داشته باشین
اگر سوال رو بهتر توضیح بدین، بهتر راهنمایی می کنم

MaFia_King
08-06-2009, 13:28
من درس متوجه منظورتون نمیشم
ولی اگر آرایه ای رو که تعریف کردین سراسری تعریف کنید مسلما تو کلاسها هم می تونید بهش دست رسی داشته باشین
اگر سوال رو بهتر توضیح بدین، بهتر راهنمایی می کنم

سلام

به برنامه ي زير توجه كنيد:


Program.cs


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



اولين كلاس:

collegian.cs


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


دومين كلاس:

master.cs


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


من آرايه ي lesson رو در اولين كلاس پر مي كنم و در دومين كلاس چاپ مي كنم.
مشكل اين برنامه اينه كه نمي تونه به ارايه lesson دسترسي پيدا كنه و اون رو چاپ كنه.!!؟؟

ممنون

فاطـمه
08-06-2009, 14:59
خب شما میتونی دو کلاس رو public تعریف کنی یا اینکه از نوع freind تعریف کنی

MaFia_King
08-06-2009, 15:43
خب شما میتونی دو کلاس رو public تعریف کنی یا اینکه از نوع freind تعریف کنی
سلام

public رو امتحان كردم ولي باز كار نكرد.
ولي در مورد freind ،مي شه بيشتر توضيح بديد؟

ممنون

فاطـمه
08-06-2009, 16:02
سلام
اینجا رو ببین:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

MaFia_King
19-06-2009, 11:15
خب شما میتونی دو کلاس رو public تعریف کنی یا اینکه از نوع freind تعریف کنی
سلام

من اين برنامه رو به اين صورت بازنويسي كردم:


Program.cs



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



اولين كلاس:

collegian.cs


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


دومين كلاس:

master.cs


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


فقط يه مشكلي كه اين برنامه داره اينه كه وقتي آرايه lesson در اول برنامه پر مي كنم.
بعدا كه مي خوام اين ارايه رو چاپ كنم چيزي رو چاپ نمي كنه و صفحه خالي رو چاپ مي كنه در حالي كه من در اول برنامه اون آرايه رو پر مي كنم ،به نظرتون مشكل از كجاي برنامه مي تونه باشه ؟

ممنون:11:

MaFia_King
24-06-2009, 13:30
سلام

كسي نبود يه راهنمايي بكنه؟

DaneshD
24-06-2009, 18:07
توضیح من براساس برنامه اول شماست. شما دوتا کلاس تعریف کردید و یکدفعه دارید یک متغیر درون یکی رو در دیگری استفاده میکنید. اول باید تعریف کنید که از نظر encapsulation نوع متغیر شما public یا private یا protected هست که در اینجا باید public باشه. البته اگر تعریف هم نکنید فکر کنم public در نظر گرفته میشه.
در ضمن توجه کنید که متغیر یا تابع درکلاس به صورت مستقیم قابل دسترسی نیست بلکه شما باید ابتدا یک instance بسازید از یک کلاس و بعد متغیرها و توابع درونش رو استفاده کنید. برای مشکل شما کافیه فقط تابع record رو به صورتی تغییر بدید تا lessons رو به صورت ورودی بگیره و پردازش کنه.

sin2x=2sinxcosx
11-07-2009, 19:42
اصولا که نبايد بتونه دسترسي داشته باشه . يعني اين از اصول برنامه نويسي شيءگراست . پيش فرض private هست ( تو ++C که اين طور بوده ) و عضو pivate هم فقط براي استفاده خود کلاسه .