کلاس های 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 توسعه می یابند.


آموزش های مرتبط

آموزش PHP-تجرد یا Abstract