‎‎اصلاح كننده هاي دسترسيPHP OOP -‎ Access Modifiers -‎

Previous >    <Next  

‎ويژگي ها ومتدها ميتوانند، داراي شرايط دسترسي باشند .شرا يط را براي دسترسي اصلاح كننده ها ‎ (modifiers)‎‎برقرار ميكنند

‎‎سه نوع اصلاح كننده دسترسي وجود دارد مطابق زير:

public‎‎ـ دسترسي براي ويژگي ومتد در هرجائي وجود دارد .اين پيش فرض دسترسي ‎است.

protected‎‎ـ ويژگي ها ومتد در داخل كلاس وكلاس هاي مشتق شده قابل دسترسي ‎است.

‎‎ private‎‎ـ ويژگي ومتد فقط در كلاس قابل دسترسي است .

‎مثال ـ دراسكريپت زير سه نوع ‎اصلاح كننده در كلاس منظور شده است .اينها براي‎ $name,$color‎و‎$weight‎ ‎ميباشند.دراسكريپت ميتوانيد نام را تغيير داده يا بدست آوريد، چون دسترسيpublic ‎بوده بلامانع است .اما براي رنگ و وزن خارج ازكلاس امكان پذير نيست و در صورت استفاده با خطا ‎مواجه ميشويد، چون آنهاProtected و private هستند .

<?php 
class Fruit {
  public $name;
  protected $color;
  private $weight;
}

$mango = new Fruit();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?> 

--(go to editor for change code and run)

‎مثال ـ در اسكريپت زير دو اصلاح كننده براي توابع كلاس اضافه شده است .اين توابع ‎متدها هستند .اگر براي فراخواني ‎ set_weight()‎ , set_color()‎‎‎كوشش كنيد ، باFatal error مواجه ميشويد. ‎دليل اين اتفاق اصلاح كننده ايست كه براي آنها در نظرگرفته شده است .انها ازنوعprotected و private‎ميباشند. تابع‎set_name()‎‎ بصورتpublic ميباشد واجازه استفاده ازآن ‎در هرجاي اسكريپت مجاز ميباشد.

<?php 
class Fruit {
  public $name;
  public $color;
  public $weight;

  function set_name($n) {  // a public function (default)
    $this->name = $n;
  }
  protected function set_color($n) { // a protected function
    $this->color = $n;
  }
  private function set_weight($n) { // a private function
    $this->weight = $n;
  }
}

$mango = new Fruit();
$mango->set_name('Mango'); // OK
$mango->set_color('Yellow'); // ERROR
$mango->set_weight('300'); // ERROR
?> 

--(go to editor for change code and run)


Previous >    <Next