PDA

View Full Version : سوال: implements چیست؟



navid3d_69
جمعه 04 مرداد 1392, 19:47 عصر
سلام توی مبحث شی گرایی implements یه چه معنی هست و برای چه کاری استفاده میشه؟

iranweb91
جمعه 04 مرداد 1392, 19:54 عصر
وقتی میخوای بدونی این شی مربوط به کدام کلاس بوده

navid3d_69
جمعه 04 مرداد 1392, 19:57 عصر
وقتی میخوای بدونی این شی مربوط به کدام کلاس بوده


میشه بیشتر توضیح بدین فکر نکم این چیزی که گفتین باشه پون روش استفادش رو توی چند کد دیدم اصلا مربوط به چیزی که گفتین نیست

iranweb91
جمعه 04 مرداد 1392, 20:03 عصر
ارت بری اینترفیس ها را با این کلمه استفاده میکنیم

colors
جمعه 04 مرداد 1392, 20:04 عصر
تو جلسه سیزدهم آموزشهای جناب شهرکی به خوبی توضیح و همراه با نمونه کد آمده.

parsboy
جمعه 04 مرداد 1392, 21:16 عصر
باسلام بفرمایید:
http://php.net/manual/pt_BR/language.oop5.interfaces.php
موفق باشید.

MMSHFE
جمعه 04 مرداد 1392, 22:01 عصر
با استفاده از کلمه کلیدی implements میتونیم مشخص کنیم که یک کلاس قصد داره رابط (interface) خاصی رو پیاده سازی کنه. برای مثال وقتی مینویسیم:

class A implements B {
کلاس A باید تمام متدهایی که توی رابط B ساختارشون مشخص شده رو به همون شکلی که تعیین شده، پیاده سازی کنه (بدنه داخل متدها دست خودشه ولی پارامترها و سطح دسترسی و... باید به همون شکلی باشه که رابط مشخص کرده). رابطها یک استاندارد در کدنویسی ایجاد میکنن که ازطریق اون، وقتی گفتیم کلاس A قراره رابط B رو پیاده سازی کنه، اگه حتی یکی از عناصر مشخص شده توسط رابط B، توسط کلاس A پیاده سازی نشه، خطا تولید میشه و کد اجرا نمیشه. بنابراین، توی کدمون کافیه بگیم:

if($obj instanceof B) {
و توی بلاک if با خیال راحت میتونیم تمام متدهایی که داخل رابط B ساختارشون مشخص شده رو روی obj$ بکار ببریم چون مطمئن هستیم که کلاس A حاوی پیاده سازی اون متدها هست. همونطور که دوست خوبم اشاره کردن، توضیح کامل بحث رابطها در جلسه 13 تاپیک آموزش مرحله به مرحله PHP توی همین تالار ارائه شده. موفق باشید.