Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


PHP Продвинутый


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP ООП - Модификаторы доступа



PHP - Модификаторы доступа

Свойства и методы могут иметь модификаторы доступа (или ключевые слова видимости), которые контролируют, откуда к ним можно получить доступ.

В PHP существует три модификатора доступа:

  • public — свойство или метод доступны отовсюду. Это значение по умолчанию
  • protected — свойство или метод доступны внутри класса и в классах, производных от этого класса
  • private — свойство или метод доступны ТОЛЬКО внутри того же класса, где они определены

Примечание: Если модификатор доступа не указан, он будет установлен как public.


Публичный модификатор доступа

Модификатор доступа public позволяет получать доступ к свойствам или методам класса отовсюду.

В следующем примере свойство $name и метод get_details() доступны извне класса.

Пример

<?php
class Fruit {
  public $name;

  public function get_details() {
    echo "Название: " . $this->name . ".";
  }
}

$apple = new Fruit();
$apple->name = "Яблоко"; // Можно получить доступ напрямую
$apple->get_details();
?>
Попробуйте сами »


Приватный модификатор доступа

Модификатор доступа private позволяет получить доступ к свойствам или методам класса ТОЛЬКО внутри того же класса, где они определены.

В следующем примере свойство $name является приватным и к нему нельзя получить доступ напрямую.

Пример

<?php
class Fruit {
  private $name;

  public function get_details() {
    echo "Название: " . $this->name . ".";
  }
}

$apple = new Fruit();
$apple->name = "Яблоко"; // Ошибка: Нельзя получить доступ к приватному свойству
$apple->get_details();
?>
Попробуйте сами »

Защищенный модификатор доступа

Модификатор доступа protected позволяет получить доступ к свойствам или методам класса внутри класса и в классах, производных от этого класса (дочерних классах).

В следующем примере свойство $name является защищенным, и к нему нельзя получить доступ напрямую.

Пример

<?php
class Fruit {
  protected $name;

  public function get_details() {
    echo "Название: " . $this->name . ".";
  }
}

$apple = new Fruit();
$apple->name = "Яблоко"; // Ошибка: Нельзя получить доступ к защищенному свойству
$apple->get_details();
?>
Попробуйте сами »

В следующем примере свойство $name является защищенным и к нему нельзя получить доступ напрямую извне класса, но оно будет доступно в подклассе Apple (дочернем классе).

Пример

<?php
class Fruit {
  protected $name;

  public function setType($name) {
    $this->name = $name;
  }
}

class Apple extends Fruit {
  public function getType() {
    echo "Название: " . $this->name . ".";
  }
}

$apple = new Apple();
$apple->setType("Яблоко");
//echo $apple->name; // Ошибка: Нельзя получить доступ к защищенному свойству
echo $apple->getType(); // Вывод: Название: Яблоко.
?>
Попробуйте сами »


×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.