Sobes.tech
Back to questions
Junior — Middle
90

Что обозначают и какие бывают уровни доступа у элементов в объектно-ориентированном программировании?

Answer from AI

sobes.tech AI

В объектно-ориентированном программировании (ООП) уровни доступа определяют, какие части программы могут обращаться к определённым элементам класса (свойствам и методам). В PHP существуют три основных уровня доступа:

  1. public — элементы доступны из любого места, как внутри класса, так и вне его.
  2. protected — элементы доступны только внутри самого класса и его наследников.
  3. private — элементы доступны только внутри самого класса, где они объявлены, и недоступны в наследниках или извне.

Пример:

class Example {
    public $publicVar = 'public';
    protected $protectedVar = 'protected';
    private $privateVar = 'private';

    public function testAccess() {
        echo $this->publicVar;    // Доступно
        echo $this->protectedVar; // Доступно
        echo $this->privateVar;   // Доступно
    }
}

class ChildExample extends Example {
    public function testAccess() {
        echo $this->publicVar;    // Доступно
        echo $this->protectedVar; // Доступно
        // echo $this->privateVar; // Ошибка: недоступно
    }
}

$obj = new Example();
echo $obj->publicVar;      // Доступно
// echo $obj->protectedVar; // Ошибка
// echo $obj->privateVar;   // Ошибка

Таким образом, уровни доступа помогают инкапсулировать данные и контролировать их видимость.