PDA

View Full Version : سوال: interface چیست؟ و چطور عمل میکند ؟



nosrati1363
چهارشنبه 26 آبان 1389, 03:12 صبح
سلام به همه ی اساتید :قلب:
راجع به این موضوع جستجو کردم ولی مطلب کاملی پیدا نکردم . من در مورد interface خیلی مطالعه کردم ( البته در منابع محدود :گریه:) و فهمیدم برای ارث بری یک کلاس از چند کلاس از این ابزار استفاده میشود . اما وقتی مثال ها را دنبال میکنم متوجه نمیشوم که چطور یک اینترفیس که خود یک کلاس است بین دو کلاس ارتباط بر قرار میکند . با کد نویسی سازنده اینترفیس هم مشکل دارم . از دوستان خواهش دارم تا این موضوع رو که در برنامه های چند لایه و بزرگ استفاده های زیادی دارد رو توضیح بدهند
همیشه ممنون بوده هستم و خواهم بود

mansourii
چهارشنبه 26 آبان 1389, 18:07 عصر
سلام به همه ی اساتید :قلب:
راجع به این موضوع جستجو کردم ولی مطلب کاملی پیدا نکردم . من در مورد interface خیلی مطالعه کردم ( البته در منابع محدود :گریه:) و فهمیدم برای ارث بری یک کلاس از چند کلاس از این ابزار استفاده میشود . اما وقتی مثال ها را دنبال میکنم متوجه نمیشوم که چطور یک اینترفیس که خود یک کلاس است بین دو کلاس ارتباط بر قرار میکند . با کد نویسی سازنده اینترفیس هم مشکل دارم . از دوستان خواهش دارم تا این موضوع رو که در برنامه های چند لایه و بزرگ استفاده های زیادی دارد رو توضیح بدهند
همیشه ممنون بوده هستم و خواهم بود


متوجه نشدم كه شما InterFace رو ميگيد يا كلاس رو

InterFace ظاهر برنامه است . (به ظاهر برنامه كه با كاربر در ارتباطه رو اينترفيس ميگن كه البته شامل بانك اطلاعاتي هم ميشه)تو اين تالار بحث هاي زيادي شده

http://barnamenevis.org/forum/showthread.php?t=258668

اميدوارم تونسته باشم حداقل 0.00001 مشكلتون رو حل كرده باشم:لبخندساده:

محسن شامحمدی
چهارشنبه 26 آبان 1389, 21:19 عصر
خیر منظور ایشون اون اینترفیسیه که توی مباحث شی گرائی استفاده می شه
این:
interface (http://en.wikipedia.org/wiki/Interface_%28object-oriented_programming%29)
interface (http://ondotnet.com/pub/a/dotnet/2003/06/30/interfaces.html)

nosrati1363
پنج شنبه 27 آبان 1389, 13:29 عصر
09111111111 عزیز ممنون از لینکهایی که دادین
اما اگه ممکنه یه مثال ساده vb بذارین یا یه توضیحی بدین که یک کلاس رو از طریق اینترفیس های ساخت خود برنامه نویس از یک کلاس دیگر مشتق کنیم
:تشویق::قلب:

محسن شامحمدی
پنج شنبه 27 آبان 1389, 15:00 عصر
آموزش توی اینترنت زیاد پیدا کردم
چندتاشو می ذارم مطالعه کنید.

هدف از ساخت اینترفیس چیست (http://www.barnamenevis.org/forum/showthread.php?t=87621)

INTERFACE in VB.NET (http://www.vbdotnetheaven.com/UploadFile/rohatash/3542/)
Interface چیست ؟ (http://hajloo.wordpress.com/2008/11/30/what-is-interface/)

منظور از interface چیست (http://forum.p30world.com/showthread.php?t=273967)؟
Interface چیست؟ (http://www.barnamenevis.org/forum/showthread.php?t=224571)
اینترفیس (http://www.barnamenevis.org/forum/showpost.php?p=981851&postcount=3)

این همه لینک های مفید نتیجه یک سرچ 15 ثانیه ای توی گوگل بود.

nosrati1363
جمعه 28 آبان 1389, 02:10 صبح
09111111111 سلام
ممنونم . یه چیزایی دستگیرم شد . تا اینجا با لینک هایی که داده بودید متوجه شدم Interface ها در مرحله اول یک کلاس رو اجبار میکنند به داشتن رویه هایی که در یک اینترفیس وجود دارد .
( * برای درک دیگر دوستان : اگر بعد از تعریف کلاس از Implements و بعد نام یک Interface استفاده کنیم و Enter را بزنیم رویه های تعریف شده در Interface به صورت خود کار به کلاس اضافه میشوند )
خوب حالا چطور از این طریق کلاس a را از کلاس B مشتق کنیم؟ و یا هم از b و هم از c ؟
مثلا یک کلاس میشه در حالی که از Date Time ارث میبره از String هم ارث ببره ؟
حتی اگه ارث بردن یک کلاس از Date Time توسط Interface رو توضیح بدین هم کافیه و بقیه اش رو سعی میکنم انجام بدم ( البته شما استاد من هستید و میدونید که چون درک مطلب یه مقدار مشکله پیدا کردن لینک مرتبط در Google برام دشواره )

FastCode
جمعه 28 آبان 1389, 07:54 صبح
09111111111 سلام
ممنونم . یه چیزایی دستگیرم شد . تا اینجا با لینک هایی که داده بودید متوجه شدم Interface ها در مرحله اول یک کلاس رو اجبار میکنند به داشتن رویه هایی که در یک اینترفیس وجود دارد .
( * برای درک دیگر دوستان : اگر بعد از تعریف کلاس از Implements و بعد نام یک Interface استفاده کنیم و Enter را بزنیم رویه های تعریف شده در Interface به صورت خود کار به کلاس اضافه میشوند )
خوب حالا چطور از این طریق کلاس a را از کلاس B مشتق کنیم؟ و یا هم از b و هم از c ؟
مثلا یک کلاس میشه در حالی که از Date Time ارث میبره از String هم ارث ببره ؟
حتی اگه ارث بردن یک کلاس از Date Time توسط Interface رو توضیح بدین هم کافیه و بقیه اش رو سعی میکنم انجام بدم ( البته شما استاد من هستید و میدونید که چون درک مطلب یه مقدار مشکله پیدا کردن لینک مرتبط در Google برام دشواره )

DateTime و String و primitive type ها اینترفیس نیستن.
در ضمن .Net اصلاً multi inheritance رو مخصوصاً به اون روشی که شما گفتی پشتیبانی نمیکنه.