0Pricing
PHP Academy · Урок

Инкапсуляция и модификаторы доступа

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

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

Инкапсуляция и модификаторы доступа

Инкапсуляция и модификаторы доступа

Добро пожаловать на урок по инкапсуляции! На этом уроке Вы узнаете, как инкапсуляция помогает защищать данные внутри классов и как модификаторы доступа управляют видимостью свойств и методов класса. Давайте разберёмся!

Инкапсуляция и модификаторы доступа — иллюстрация 1

Что такое инкапсуляция

Что такое инкапсуляция

Инкапсуляция — это объединение данных (свойств) и методов, работающих с этими данными, внутри класса, а также ограничение прямого доступа к ним извне класса.

Основные особенности инкапсуляции:

  • Защищает внутреннее состояние объекта.
  • Предоставляет управляемый доступ к свойствам класса с помощью методов.
  • Помогает сохранять целостность данных.

Совет: Инкапсуляция — фундаментальная концепция для создания безопасных и модульных приложений.

Модификаторы доступа в 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();
?>

Преимущества инкапсуляции

Преимущества инкапсуляции

Инкапсуляция даёт следующие преимущества:

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

Важно: Инкапсуляция — фундаментальный принцип безопасного и модульного ООП.

Отличная работа!

Отличная работа!

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

Инкапсуляция и модификаторы доступа — иллюстрация 10

Часто задаваемые вопросы

Урок «Инкапсуляция и модификаторы доступа» бесплатный?

Да — полный текст урока «Инкапсуляция и модификаторы доступа» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 — локальная установка не требуется.

Все уроки этого курса

  1. Введение в ООП в PHP
  2. Определение классов и объектов
  3. Наследование
  4. Инкапсуляция и модификаторы доступа
  5. Полиморфизм
← Назад к PHP Academy