آموزش شی گرایی در php و تعریف متد در کلاس

سلام مجدد خدمت شما کاربران محترم وبسایت ilikephp و همین طور علاقه مندان به آموزش های php. در جلسه قبل در مورد مفاهیم شی گرایی و ساخت یک کلاس در php صحبت کردیم و دانستیم که چگونه یک متغیر تعریف کرده و یک نمونه یا یک شی از آن کلاس را ایجاد کنیم. در این جلسه به ادامه آموزش شی گرایی  و ساخت متد های یک کلاس در php می پردازیم.

تعریف متدهای یک کلاس

در جلسات قبل در مورد ساخت توابع در php به طور کامل صحبت کردیم. به توابعی که به طور خاص در یک کلاس تعریف می شوند، متد (method) گفته می شود و تمامی کارهایی که یک نمونه شی انجام می دهد را داخل متدها تعریف می کنیم.

مثال:

برای کلاس myClass یک متد به نام setUsername تعریف می کنیم که در آن متغیر username را مقدار دهی می کند.

  class myClass {      public $username = 'alireza';      public function setUserName($newUser) {          return $this -> username = $newUser;      }  }

نکته: توجه داشته باشید در بدنه متدها برای دسترسی به شی ساخته شده در خارج از کلاس بایستی از کلمه کلیدی $this استفاده کنیم. با این کار مقدار متغیر اشاره شده برابر با مقداری می شود که توسط شی ساخته شده تعیین شده باشد. به مثال زیر توجه کنید.

  class myClass {      public $username = 'alireza';      public function setUserName($newUser) {          return $this -> username = $newUser;      }  }  $obj = new myClass;  echo $obj -> setUserName('mohsen');  

خروجی کدهای بالا به شکل زیر می شود:

  mohsen

در مثال بالا می توانیم مقدار متغیر username را در تابع setUserName مقداردهی کنیم و در تابعی جدید با نام getUserName مقدار را return کنیم.

  class myClass {      public $username = 'alireza';      public function setUserName($newUser) {          return $this -> username = $newUser;      }      public function getUserName () {          return $this -> username;      }  }  $obj = new myClass;  $obj -> setUserName('mohsen');  echo $obj -> getUserName();

خروجی کدهای بالا به صورت زیر می شود.

  mohsen

می توانیم این مقدار دهی را توسط شی ساخته شده چندین بار انجام دهیم و مقدارهای جدید داشته باشیم:

  <?php    class myClass {      public $username = 'alireza';      public function setUserName($newUser) {          return $this -> username = $newUser;      }      public function getUserName () {          return $this -> username . '<br>';      }  }  $obj = new myClass;  $obj -> setUserName('mohsen');  echo $obj -> getUserName();    $obj -> setUserName('ahmadreza');  echo $obj -> getUserName();

خروجی کدهای بالا به شکل زیر می شود

  mohsen  ahmadreza

 

دیدگاهتان را بنویسید