نقل قول: Interface Polymorphism
آیا اصلا اینطوری میشه به عضو Gear از کلاس Car دسترسی داشت یا حتماباید instance جداگانه از کلاس Car بسازیم ؟
نقل قول: Interface Polymorphism
با سلام
می تونید type cast انجام بدین. به عنوان مثال:
if (driver.Vehicle.GetType() == typeof(Car))
{
((Car)driver.Vehicle).Gear = 1;
Console.WriteLine(((Car)driver.Vehicle).Gear);
}
نقل قول: Interface Polymorphism
با جواب جناب Masiha1986 کاملا موافقم به شرط اینکه یقین کنید که driver.Vehicle یه car هست که این در مثال شما کاملا مشهوده.
نقل قول: Interface Polymorphism
نقل قول:
نوشته شده توسط
Masiha1986
با سلام
می تونید type cast انجام بدین. به عنوان مثال:
if (driver.Vehicle.GetType() == typeof(Car))
{
((Car)driver.Vehicle).Gear = 1;
Console.WriteLine(((Car)driver.Vehicle).Gear);
}
آیا ازنظر رعایت اصول شی گرایی اینکار خللی تو سیستم وارد نمیکنه!؟اصلا polymorphism جهت سهولت در کدنویسی و عدم انجام عملیات تکراریه یا تو عملکرد سیستم هم موثره ؟
نقل قول: Interface Polymorphism
نقل قول:
نوشته شده توسط
dr_csharp
چطور به پراپرتی Gear کلاس Car که در اینترفیس پیاده سازی نشده دسترسی داشته باشم ؟
با سلام
شکلی که سوال را پرسیدید اشتباه است.
۱)اینترفیس نیست که پیاده سازی میکند، اینترفیس وجود قابلیتها را تعریف میکند.
۲)استفاده از یک خصوصیت که در اینترفیس تعریف نشده و کست به یک تایپ به خصوص ،خلاف ایده استفاده از اینترفیس است.
۳)سوال درست این است که چرا قابلیت دسترسی به دنده را در اینترفیس تعریف نمیکنید؟
نقل قول: Interface Polymorphism
نقل قول:
نوشته شده توسط
اَرژنگ
با سلام
سوال درست این است که چرا قابلیت دسترسی به دنده را در اینترفیس تعریف نمیکنید؟
چون ممکنه گاها بین کلاس های موجود بخوایم یکی از کلاسها ویژگی خاصیداشته باشه.مثلا در اینجا از بین Motor و Car و Truck و دیگر وسائط نقلیه موجود تنها Car دارای Gear است.
نقل قول: Interface Polymorphism
نقل قول:
نوشته شده توسط
dr_csharp
چون ممکنه گاها بین کلاس های موجود بخوایم یکی از کلاسها ویژگی خاصیداشته باشه.مثلا در اینجا از بین Motor و Car و Truck و دیگر وسائط نقلیه موجود تنها Car دارای Gear است.
اگر این طور باشد دیگر استفاده از اینترفیس برایه چیه؟ اینکه تمام فواید استفاده از اینترفیس را بباد میده.
یا باید در اینترفیس تعریف بشد و به یک شکل در همه جا استفاده بشه یا اینکه باید به اینکه با چه کلاس بخصوصی استفاده میشه با اینترفیسهایه کلاسی کار کرد.
این شکل قاطی کردنشان مثل این میماند که بگیم نصف خانه را از بتون و بعضی جاهش را از خشت درست میکنیم. که هم از بتون فایده ببیم و هم اینکه تابستان خنک باشد.
یا به یک عبارت دیگر به این میگویند آرکیتکتچر فرانکشتن، یک چیزی غول بیشاخ دم سره کردن.
باید اینکه با کدام آرکیتچر قراره استفاده بشد تصمیم بگیرند.
نقل قول: Interface Polymorphism
یه پروژه ای مثل انتخاب واحد دانشگاه و در نظر بگیرید
قراره نام استاد و نام دانشجو و نام درس انتخاب شده هریک در فایلی متنی قرار بگیره و امکان جستجو وجود داشته باشه.
بنظر شما در چه بخشی از این پروژه امکان استفاده از polymorphism وجود داره ؟
راستش چون قبلا توجهی به این تکنیک نداشتم کاربرد polymorphism تو پروژه ها برام گنگه.ممنون میشم دوستان مثالهایی رو که تا بحال کار کردن بیان کنند.