کلاس های interface
کلاسهایی که به صورت interface تعریف می شوند تقریباً همانند کلاس هایی هستند که به صورت abstract تعریف می شوند اما نحوه تعریف و استفاده آنها متفاوت می باشد.
مثال:
<?php
interface class Base_DB {
public function update($data,$id);
public function insert($data);
}
class MySQL_DB implements Base_DB{
function update($data,$id)
{
// کدهای مربوط به ویرایش
}
function insert($data)
{
// کدهای مربوط به درج کردن
}
}
class Oracle_DB implements Base_DB{
function update($data,$id)
{
// کدهای مربوط به ویرایش
}
function insert($data)
{
// کدهای مربوط به درج کردن
}
}
؟>
توجه داشته باشید که کلاسهایی که به صورت interface تعریف می شوند نباید شامل بدنه یک تابع باشند؛ در صورتی که کلاس های abstract می توانستند ادغامی از توابع معمولی و توابع abstract شوند.
به این نکته نیز توجه داشته باشید که کلاسهای interface بجای extends با implements توسعه می یابند.