PDA

View Full Version : اگر چند ریختی نباشد چه مشکلی در برنامه نویسی پیش می آید



MiladJengir
سه شنبه 27 دی 1390, 23:02 عصر
سوال:
اگر چند ریختی نباشد چه مشکلی در برنامه نویسی پیش می آید؟؟؟


فردا ساعت 10 امتحان دارم هرکی میدونه تو رو خدا زود جوابشو بده.
:گریه::گریه::گریه::گریه::گریه: :گریه::گریه:

shadi khanum
سه شنبه 27 دی 1390, 23:20 عصر
ببین شما فرض کن یه کلاس Person داری و یه کلاس manager که از کلاس person ارث برده. یه تابع به اسم print تو کلاس Person داری که یه کاری انجام میده. چون manager هم از person ارث برده مسلما تابع Print رو داره.حالا فرض کن میخوای تابع Print توکلاس فرزند(manager) یه کار متفاوت با person انجام بده .یعنی بتونی یه کد کتفاوت با person تو تابع بنویسی.. به این قابلیت میگن چند ریختی.. یعنی یه تابع به اسم print داری که اسمش و متغیرهای ورودی (Signature) اون یکیه (تو هر دو کلاس فرزند و پدر) ولی هر کدوم بسته به اینکه تو کدوم کلاس پیاده سازی شدن، کار خاصی انجام میدن و ریخت متفاوتی دارن. به بیان کلی با استفاده از چندریختی مي‌تونی براي متد كلاس مشتق شده پياده‌سازي متفاوتي از پياده‌سازي متد كلاس پايه درست کنی
موفق باشی

MiladJengir
سه شنبه 27 دی 1390, 23:25 عصر
مرسی که جواب دادین شادی خانوم ولی اینی که شما گفتید تعریف چند ریختیه.
منم میدونم چند ریختی چیه و چیکار میکنه ولی سوال من اینه که اگه چند ریختی نباشه چه مشکلاتی پیش می آید؟

shadi khanum
سه شنبه 27 دی 1390, 23:50 عصر
معاومه دیگه، کارایی که الان میشه انجام داد رو نمیتونی انجام بدی! یعنی نمیتونی واسه یه تابع که تو کلاس پدر تعریف کردی تو هر کلاس مشتق شده پیاده سازی متناسب با خودش رو داشته باشی!

mehdin69
چهارشنبه 28 دی 1390, 00:08 صبح
مزیت چند ریختی ساده کردن کدها و درک بهتر کدهای نوشته شده هست.
اگه نباشه کدها پیچیده و درکشون دشوار میشه..
یه زمانی من یادم میاد اینو خوندم :بامزه:

mhsmity
چهارشنبه 28 دی 1390, 00:19 صبح
اول دوست عزیز سلام
امیدوارم که توی امتحانت موفق و سر بلند باشی
یکم مشکوک می زنی فکر کنم سوالات امتحانو داشته باشی نه؟

خوب
فرض کن می خوای یه Dll یا Ocx یا هر چی دیکه تو این مایه ها بدی توی بازار.
حالا چیزی که بین مهندسین نرم افزار و طراحان کد نویسی خیلی مهم هستش رعایت اصول و قوانین حال اگر ما پلی مورفیسم یا عمل سربار گذاری رو نداشته باشیم محفوظات (کدها) برنامه برنامه نویس افزایش می یابد
پس
1- پلی مورفیسم ویژگی است که امکان می دهد از یک رابط برای دسته کلی یی از اعمال استفاده کرد.
2- یه چیز خیلی باحال: بدونه دانستن یا تغییر دادن کد توابع داخل شی عملکدر آن توابع را تغییر دا د.

mtss92
چهارشنبه 28 دی 1390, 23:45 عصر
سلام
تویه کتاب طراحی و پیاده سازی زبان ها (پرات) نگاه کردم. ننوشته چه مشکلی بوده که چند ریختی ایجاد شده.
فقط از مزایای اون و نحوه پیاده سازی اون گفته.

به نظر منم اگه نباشه مشکلی پیش نمیاد فقط ممکنه از خوانایی برنامت کم کنه چون اگه نباشه مجبور میشی برای یه عملکرد، چندین تابع با نامهای متفاوت ایجاد کنی.