Инкапсуляция и модификаторы доступа
Защищайте свойства и методы и управляйте доступом к ним
«Инкапсуляция и модификаторы доступа» — бесплатный урок PHP Academy на CoddyKit. Это урок 4 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 5 уроков всего.
Инкапсуляция и модификаторы доступа
Инкапсуляция и модификаторы доступа
Добро пожаловать на урок по инкапсуляции! На этом уроке Вы узнаете, как инкапсуляция помогает защищать данные внутри классов и как модификаторы доступа управляют видимостью свойств и методов класса. Давайте разберёмся!

Что такое инкапсуляция
Что такое инкапсуляция
Инкапсуляция — это объединение данных (свойств) и методов, работающих с этими данными, внутри класса, а также ограничение прямого доступа к ним извне класса.
Основные особенности инкапсуляции:
- Защищает внутреннее состояние объекта.
- Предоставляет управляемый доступ к свойствам класса с помощью методов.
- Помогает сохранять целостность данных.
Совет: Инкапсуляция — фундаментальная концепция для создания безопасных и модульных приложений.
Модификаторы доступа в PHP
Модификаторы доступа в PHP
Модификаторы доступа определяют видимость свойств и методов класса. PHP предоставляет три уровня видимости:
public: доступны отовсюду.protected: доступны только внутри класса и его дочерних классов.private: доступны только внутри самого класса.
Важно: Используйте модификаторы доступа, чтобы управлять тем, как свойства и методы можно просматривать и изменять.
Использование общедоступных свойств
Использование public свойств
К свойствам, объявленным как public, можно обращаться и вносить изменения из любого места. Пример:
Совет: Используйте public для свойств и методов, к которым должен быть открыт доступ.
<?php
class Car {
public $make;
public $model;
public function drive() {
echo "The car is driving.";
}
}
$car = new Car();
$car->make = "Toyota";
$car->model = "Corolla";
echo "Make: " . $car->make . ", Model: " . $car->model;
$car->drive();
?>
Использование закрытых свойств
Использование private свойств
К свойствам, объявленным как private, можно обращаться только внутри класса. Пример:
Важно: Используйте private для свойств, которые необходимо защитить от изменений извне.
<?php
class BankAccount {
private $balance;
public function __construct($initialBalance) {
$this->balance = $initialBalance;
}
public function getBalance() {
return $this->balance;
}
public function deposit($amount) {
$this->balance += $amount;
}
}
$account = new BankAccount(100);
$account->deposit(50);
echo "Balance: " . $account->getBalance(); // Outputs: Balance: 150
?>
Использование защищённых свойств
Использование protected свойств
Свойства, объявленные как protected, доступны внутри класса и его дочерних классов. Пример:
Важно: Используйте protected, чтобы дочерние классы могли обращаться к свойствам и методам родительского класса.
<?php
class Vehicle {
protected $fuel;
public function setFuel($fuel) {
$this->fuel = $fuel;
}
}
class Car extends Vehicle {
public function getFuel() {
return $this->fuel;
}
}
$car = new Car();
$car->setFuel("Gasoline");
echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>
Методы получения и установки
Методы получения и установки
Инкапсуляция часто предполагает использование методов получения и установки для управляемого доступа к закрытым свойствам. Пример:
Совет: Используйте методы установки, чтобы проверять данные перед изменением свойств.
<?php
class User {
private $password;
public function setPassword($password) {
$this->password = $password;
}
public function getPassword() {
return $this->password;
}
}
$user = new User();
$user->setPassword("my_secure_password");
echo "Password: " . $user->getPassword();
?>
Преимущества инкапсуляции
Преимущества инкапсуляции
Инкапсуляция даёт следующие преимущества:
- Защищает внутреннее состояние объекта.
- Упрощает сопровождение кода, централизуя управление свойствами.
- Предотвращает случайное изменение данных.
- Повышает безопасность, ограничивая прямой доступ к конфиденциальным данным.
Важно: Инкапсуляция — фундаментальный принцип безопасного и модульного ООП.
Отличная работа!
Отличная работа!
Поздравляем! Вы узнали об инкапсуляции и о том, как модификаторы доступа управляют видимостью свойств и методов класса. В следующем уроке мы рассмотрим полиморфизм и узнаем, как он обеспечивает гибкость поведения объектов. Продолжим писать код!

Часто задаваемые вопросы
Урок «Инкапсуляция и модификаторы доступа» бесплатный?
Да — полный текст урока «Инкапсуляция и модификаторы доступа» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 5 уроков всего.
Чему я научусь в уроке «Инкапсуляция и модификаторы доступа»?
Защищайте свойства и методы и управляйте доступом к ним Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 5.
Сколько времени занимает урок «Инкапсуляция и модификаторы доступа»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в ООП в PHP
- Определение классов и объектов
- Наследование
- Инкапсуляция и модификаторы доступа
- Полиморфизм