نمایش نتایج 1 تا 20 از 20

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

  1. #1
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40

    Question مشکل در نوشتن یک برنامه که در آن از ارث بری استفاده میشه

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

    من می خوام یه برنامه بنویسم(در واقع تا حدی از برنامه رو نوشتم)که دارای چند کلاس مجزا باشه. یک کلاس به اسم Point که در واقع کلاس پدر بزرگه و یک کلاس به اسم مستطیل(که اسم انگلیسیش رو نمیدونم ممنون میشم اگه کسی بهم بگه)که فرزند point هست و یک کلاس به اسم مکعب مستطیل(که این رو هم اسم انگلیسیش رو نمیدونم ممنون میشم اگه کسی بهم بگه)که فرزند مستطیله. Point باید از خودش دو تا متغیره x ,y رو داشته باشه وکلاس مستطیل علاوه بر اینکه از Point ارث میبره از خودش یه طول و عرض داشته باشه(که من فکر میکنم توی کلاس مستطیل باید دو متغیر جدید معرفی بشه(با دومتغیره قبلی میشه 4تا) و x,y با کلمه ی کلیدی base فراخوانی بشن که اینجا (موقع فراخونی)از کد من ایراد میگیره)و مکعب مستطیل علاوه بر ارث بردن طول و عرض باید ارتفاع رو از خودش داشته باشه.بعد باید یه برنامه ی مشتری بنویسم که از این سه کلاس استفاده کنه و اشیاء مختلف داشته باشه و در اون باید یک شئ Point ایجاد کنیم که از سازنده ی پیشفرض Point استفاده کنه و یک بار شئ Point ایجاد کنیم که از سازنده سربار گذاری شده ی Point استفاده کنه که 2تا ارگومان بگیره.3 تا شی برای مستطیل ایجاد کنید:
    1.از سازنده ی پیشفرض پدر و فرزند استفاده شود.
    2.از سازنده ی پیش فرض فرزند وسر بار گذاری شده پدر استفاده شود.
    3.هر دو سربار گذاری شده باشند
    مقدارx,y پوینت رو باید تغییر بدهیم و بعد چاپش کنیم.و Diameter رو از قضیه ی فیثا غورث ومحیط( circumference) و Area رو باید حساب کنیم.
    یک شی سازنده سر بار گذاری شده (که البته مطمئن نیستم همچین عبارتی درست باشه) مکعب مستطیل وپدر و پدر بزرگش رو ایجاد فراخوانی کند و در زمان ایجاد فراخوانی کند و بعد از ان مقادیرش را تغییر دهید (طول و عرض و ارتفاع) و با to string چاپش کنید.
    diameter (قطر) و circumference (محیط) مستطیل و Area (مساحت) و volume (حجم) مکعب رو حساب کنید .

    اگر کسی این لطف رو کنه که برنامه رو بنویسه که من مدیونشم ولی این رو هم بگم نوشتن برنامه ی بالا برای کسی که خیلی وقته سی شارپ رو خونده خیلی مسخره به نظر میاد ولی برای تازه کاری مثل من که 5 تا برنامه ی سی شارپ ننوشته یه کم گیر داره

  2. #2
    نقل قول نوشته شده توسط mth_sh89 مشاهده تاپیک
    اگر کسی این لطف رو کنه که برنامه رو بنویسه که من مدیونشم ولی این رو هم بگم نوشتن برنامه ی بالا برای کسی که خیلی وقته سی شارپ رو خونده خیلی مسخره به نظر میاد ولی برای تازه کاری مثل من که 5 تا برنامه ی سی شارپ ننوشته یه کم گیر داره
    بگو کجاش گیر داره تا همون جاش رو راهنمایی کنیم؟

  3. #3
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط mth_sh89 مشاهده تاپیک
    مستطیل(که اسم انگلیسیش رو نمیدونم ممنون میشم اگه کسی بهم بگه)
    Rectangle

    نقل قول نوشته شده توسط mth_sh89 مشاهده تاپیک
    که فرزند point هست و یک کلاس به اسم مکعب مستطیل(که این رو هم اسم انگلیسیش رو
    نمیدونم ممنون میشم اگه کسی بهم بگه)
    Rectangular Cube
    آخرین ویرایش به وسیله اَرژنگ : جمعه 20 اردیبهشت 1387 در 19:32 عصر

  4. #4
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    باشه(که من فکر میکنم توی کلاس مستطیل باید دو متغیر جدید معرفی بشه(با دومتغیره قبلی میشه 4تا) و x,y با کلمه ی کلیدی base فراخوانی بشن که اینجا (موقع فراخونی)از کد من ایراد میگیره)
    دوست عزیز لطفا خطای مورد نظر رو اینجا بنویس، احتمالا میخوای به اعضای Private کلاس Point دسترسی داشته باشی، خب این نمیشه، در کلاسهای فرزند فقط میتونی به اعضای Public و Protected و یا Internal دسترسی داشته باشی.

  5. #5
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    (که من فکر میکنم توی کلاس مستطیل باید دو متغیر جدید معرفی بشه(با دومتغیره قبلی میشه 4تا) و x,y با کلمه ی کلیدی base فراخوانی بشن که اینجا (موقع فراخونی)از کد من ایراد میگیره)
    به جایی که نوشتم فکر می کنم یا نوشتم مطمئن نیستم پاسخ بدهید تا بقیه ی مشکلام رو هم بگم

  6. #6
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    یک شی سازنده سر بار گذاری شده (که البته مطمئن نیستم همچین عبارتی درست باشه)

    مگر با base: نمیشه به اعضای private دسترسی پیدا کرد؟؟؟؟

  7. #7
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    مگر با base: نمیشه به اعضای private دسترسی پیدا کرد؟؟؟؟
    خیر، فقط از طریق اعضای خود اون کلاس قابل دسترسی هست، شما میتونی از Protected استفاده کنی.

  8. #8
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    خیر، فقط از طریق اعضای خود اون کلاس قابل دسترسی هست، شما میتونی از Protected استفاده کنی
    استاد ما بهمون گفت توی برنامه فرزند با اینکه اعضای کلاس پدر private هستن میشه باbase: اونا رو فراخونی کرد.منم بار اول private معرفی کردم خطا گرفت بعد به جاشو با protected عوض کردم درست شد ولی دوباره protected رو پاک کردم و به جاش private نوشتم و هیچ خطایی نگرفت
    این مطلب رو طبق کتاب how to programming C#‎.net که مهندس رامین مولانا پور ترجمه کرده ،به ما گفت و شدنیه(قدرت خدا رو ببین)
    آخرین ویرایش به وسیله mth_sh89 : جمعه 20 اردیبهشت 1387 در 16:09 عصر

  9. #9
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    من الان بدون اینکه مشکلی پیش بیاد سه تا کلاسBox ,Point,Recatangle رو نوشتم متد ها ی مورد نظر رو براش تعریف کردم
    فقط مونده یه کلاس مشتری بنویسم که می نویسم
    حالا میخوام توی سه تا tab ای که روی فرمم ایجاد کردم یه سری مقادیر رو چاپ کنم باید چی کار کنم که توی تب اطلاعات رو چاپ کنم.مثلا اگه بخوام توی tab اولی مقدار x,y رو نشون بدم باید کد های point رو توی بلاک tab اولی کپی کنم؟؟

  10. #10
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    این error رو هم میده

    Error 1 Inconsistent accessibility: base class 'WindowsApplication1.Point' is less accessible than class 'WindowsApplication1.Form1' C:\Documents and Settings\Mohammad Taher\My Documents\Visual Studio 2005\Projects\WindowsApplication1\WindowsApplicati on1\Form1.Designer.cs 3 19 WindowsApplication1

  11. #11
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40

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

    چرا هیچ کس جواب نمیده؟؟

  12. #12
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    خب دوست عزیز، همانطور که توی متن خطا میبینی، میگه که شما کمترین سطح دسترسی رو برای عضو مورد نظر فراهم کردی، که احتمالا همون Private هست، سعی کن در کلاس base از دسترسی protected استفاده کنی نه private.

  13. #13
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    تغییر دادم ولی درست نشد . جواب اولین سوال صفحه ی 1 برام مهممتره.اگه سوالش واضح نیست بگید بیشتر توضیح میدم

  14. #14
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    این مشکل احتمالا از فرم باید باشه که احتمالا با پاک کردن پروژه وایجاد پروژه ی وکپی کردن کد کلاس ها درست میشه فقط من نمیدونم چطوری میتونم بعد از ایجاد tab با خصوصیت toolbox ،tab control اطلاعات یک کلاس رو در تبی که ایجاد کردم چاپ کنم؟؟؟؟؟؟
    آخرین ویرایش به وسیله mth_sh89 : شنبه 21 اردیبهشت 1387 در 20:42 عصر

  15. #15
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    1.از سازنده ی پیشفرض پدر و فرزند استفاده شود.
    اگه منظورت اینه، خب ببین فرض کن در کلاس پدر یا همون base class یک سازنده داری که اصلا پارامتر نمیگیره، حالا در کلاس فرزند هم میخوای یه سازنده بسازی که اصلا پارامتر نداره، با توجه به اینکه کلاس فرزند تمام خصوصیات و رفتارهای کلاس پدر رو به ارث میبره، در زمان نوشتن سازنده ی کلاس فرزند، اینطوری باید بنویسی :
    public DerivedClass() : base()
    {

    }

    اینطوری میتونی از سازنده ی پیش فرض کلاس پدر استفاده کنی، دقیقا مثل زمانی که میخوای کلاسی رو از کلاس دیگه ارث بری کنی.

  16. #16
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    نه اینو با اینکه چیزی از سی شارپ نمیدونم میدونم . ببین من یه برنامه ی windows application ایجاد کردم و باید روی فرمم tab ایجاد کنم و وقتی تب ایجاد کردم اطلاعات هر سه تا کلاس رو توی 3تا tab چاپ کنم .باید چیکار کنم ؟؟.
    مثلا وقتی یه lableوbutton ایجاد می کنیم روی فرم و می خوایم هر وقت روی button کلیک کردیم یه عبارت روی فرم در جایی که lable ایجاد شده چاپ بشه می ریم روی button کلیک میکنیم و کد مربوطه رو مینویسیم و وقتی برنامه رو اجرا کردیم به محض اینکه روی button کلیک کنیم در قسمت lable عبارت مورد نظرمون چاپ میشه.

    حالا من می خوام اطلاعات دلخواه خودمو توی تبی که روی فرمم ایجاد کردم ببینم باید چیکار کنم؟؟؟

  17. #17
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    متوجه منظورت نشدم، یعنی از tab استفاده کردی، حالا مثلا میخوای با زدن یک دکمه، label ای که در tab1 هست، مقدارش عوض بشه، درسته ؟
    خب کاری نداره، میتونی از this استفاده کنی، مثل این : this.label1.Text، ربطی به tab نداره، شما میتونی به هر کنترلی و در هر tabای به همین صورت دسترسی داشته باشی، سوالت خیلی گنگه و اینهایی که میخوای ربطی به ارث بری نداره!

  18. #18
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    درسته این سوال ربطی به ارث بری نداره ولی چون در تکمیل برنامه ی ارث بریه اینجا مطرحش کردم.
    ولی هنوز متوجه منظورم نشدید.
    من نمی خوام labal ایجاد کنم اون یه مثال بود.

    من می خوام سه تا tab به اسم های tab1 ،tab2,tab3 روی فرمم ایجاد کنم و می خوام x,y رو که توی کلاس Point ایجاد کردم توی tab1 ،مساحت و قطر ومحیط مستیل رو توی tab2 ،مساحت و حجم مکعب رو توی tab3 چاپ کنم.یعنی اطلاعات 3تا کلاسی(Point,Retangale,RetangulerCube) که توی برنامم ایجاد کردم رو می خوام توی یک فرم جداگانه چاپ کنم.ok??????

    یه مثال از توی کامپیوتر واست میزنم برو روی my computer کلیک راست کن و گزینه ی اخر رو بزن.پنجره ای که واست نمایش داده میشه یه tab به اسم General یه تب به اسم computer name یه تب به اسم,........داره که هرکدومش یه اطلاعات رو نشون میده.حالا منم می خوام مثل tab جنرال کامپیوتر که System:Microsoft Windows Xp رو چاپ کرده ، x.y رو توی tab1 چاپ کنم چیکار کنم؟؟؟؟

  19. #19
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    نمیدونم سوالت چی هست، این پروژه رو برات گذاشتم که هم سه تا کلاسی که گفتی رو نمونه سازی کردم و هم داخل tab ای که میگی نشون میدم، ببین همینه :
    فایل های ضمیمه فایل های ضمیمه

  20. #20
    کاربر تازه وارد آواتار mth_sh89
    تاریخ عضویت
    آذر 1386
    محل زندگی
    خوزستان
    پست
    40
    یه جوری خودم جمع و جورش کردم.ممنون

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •