مشاهده نسخه کامل
: مشکل در override کردن یک متد
persianmahdi
17-07-2009, 11:19
سلام
من 2 تا کلاس ایجاد کردم یکی به اسم GraphicsItem و یکی هم به اسم GraphicsCircle
کلاس GraphicsItem
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینم کلاس GraphicsCircle
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کلاس GraphicsCircle همون طور که می بینید باید از کلاس GraphicsItem مشتق بشه .
حالا باید متد Draw را override کنیم . اما متاسفانه ارور میده
چیکار کنم .
اینم اروری که میده
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
گمانم GraohicsItem چندان با GraphicsItem یکسان نباشد! و یا Rectangle با rectamgle ! و یا graphices با graohics !!!!
کد صحیح:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
persianmahdi
17-07-2009, 18:02
سلام
گمانم GraohicsItem چندان با GraphicsItem یکسان نباشد! و یا Rectangle با rectamgle ! و یا graphices با graohics !!!!
کد صحیح:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اقا نمیشه . هر کاری میکنم نمیشه . دیوونه ام کرده
چی کارش کنم ؟
سلام
یعنی چی نمیشه؟
کد فوق در رایانه من صحیح کامپایل میشود و تقریباً غیر ممکن است که جای دیگری خطا بدهد؟
چه خطای کامپایلی دریافت میکنید؟
persianmahdi
17-07-2009, 20:57
من 2 تا کلاس ایجاد کردم .
کلاس پایه من GraphicsItem هستش . و کدهای زیر هم اختصاص دادم به اون
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کلاس دوم من که از کلاس اول مشتق میشه اسمش GraphicsCircle هستش و کدهای زیر را میخوام بهش نسبت بدم .
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
میخوام بدونم این قسمتهایی که به صورت رنگی مشخص کردم درست به کار برده شدن ؟
اگه جواب مثبت هستش پس چرا توی قسمت Draw خطا داده میشه .
اینم خطایی که داده میشه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
کد شما سرشار از اشتباه بود ...
من برایتان کد درست را نوشتم ...
نمیدانم، وقتی کد درست وجود دارد، مسئله چندان پیچیده ای نیست
یعنی نمیتواند کد پست قبلی را با کد خودتان تطبیق دهید و مشکلات اصلاح شده را پیدا کنید؟
==============
در حال حاضر و در این کد آخری اصلی ترین ایراد شما آن است که کلاس GraphicItem را داخل کلاس GraphicsItem تعریف کرده اید !!!
و سپس از کلاس خالی GraphicsItem وراثت گرفته اید!!! یعنی همان کلاسی که هیچ متدی ندارد!!!!
یا باید کلاس GraphicsItem را حذف کنید و یا از GraphicsItem.GraphicItem وراثت بگیرید.
سه ایرادات بعدی ...
عدم تایین حوزه دید برای کلاسها که بهتر است یک public قبل از تعریف آنها استفاده شود وگرنه GraphicItem که خودش داخل GraphicsItem است خصوصی خواهد شد.
ایراد تایپی نام Rectangle و rectangle و عدم تساویر دو مورد
ایراد تایپی graphics و graohics و عدم تساوی دو مورد
==============
دیوونه ام کرده
دوست عزیز، طبیعی است که هر کسی اگر بخواهد کاری انجام دهد و آن کار را بلد نباشد به همین مشکلات دچار خواهد شد.
شما حداقل باید یک کتاب C#.Net تهیه و کامل و دقیق مزالعه کنید تا پایه خود را قوی کنید و سپس با آرامش خیال و لذت بیشتری به کدنویسی بپردازید ...
بدون پشتوانه تئوری هر چند کم شما نمیتوانید همه چیز را در عمل و با کدنویسی تجربه کنید و یا خیلی خیلی مشتاق خواهید بود و به شدت روی کار وقت میگذارید و یا زمانی به شدت دلسرد و آزده میشود و کلاً بیخیالش میشوید ...
آهسته و پیوسته ادامه دهید ...
موفق باشید.
سلام کلاس ها Static نیستن.
احتمالاً مشکل از ریشست..
اون قسمت کدی که از کلاس استفاده کردین رو لطف کنین بزارین..
ممنون و موفق باشید.
persianmahdi
18-07-2009, 08:31
دوست عزیز، طبیعی است که هر کسی اگر بخواهد کاری انجام دهد و آن کار را بلد نباشد به همین مشکلات دچار خواهد شد.
شما حداقل باید یک کتاب C#.Net تهیه و کامل و دقیق مزالعه کنید تا پایه خود را قوی کنید و سپس با آرامش خیال و لذت بیشتری به کدنویسی بپردازید ...
بدون پشتوانه تئوری هر چند کم شما نمیتوانید همه چیز را در عمل و با کدنویسی تجربه کنید و یا خیلی خیلی مشتاق خواهید بود و به شدت روی کار وقت میگذارید و یا زمانی به شدت دلسرد و آزده میشود و کلاً بیخیالش میشوید ...
آهسته و پیوسته ادامه دهید ...
موفق باشید.
سلام
مرسی مشکل حل شد
از توصیه های شما ممنونم . اما به نظرم مهمترین چیز برای یادگیری نوشتن برنامه هستش .
باید برنامه نوشت حتی اگه برنامه ایراد داشته باشه . چون وقتی ادم به ایرادش پی میبره اون مسئله را خیلی بهتر می فهمه .
گاهی اوقات خوندن یک بحث از روی کتابها چندان کارایی اون روش را نشون نمیده و باید برای یادگیری برنامه نوشت تا متوجه کارایی اون روش شد .
حتی اگه برنامه ای که می نویسی اشتباه باشه . چون با رفع اون اشتباهات میشه کارایی اون روش را فهمید .
ممنون
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.