0Pricing
PHP Academy · Lekcja

Enkapsulacja i modyfikatory dostępu

Chroń właściwości i metody oraz kontroluj dostęp do nich

Enkapsulacja i modyfikatory dostępu to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 4 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 5 lekcji w sumie.

Enkapsulacja i modyfikatory dostępu

Enkapsulacja i modyfikatory dostępu

Witamy na lekcji poświęconej enkapsulacji! W tej lekcji dowiedzą się Państwo, jak enkapsulacja pomaga chronić dane przechowywane w klasach oraz jak modyfikatory dostępu kontrolują widoczność właściwości i metod klasy. Przejdźmy do nauki!

Enkapsulacja i modyfikatory dostępu — ilustracja 1

Czym jest enkapsulacja?

Czym jest enkapsulacja?

Enkapsulacja to praktyka łączenia danych (właściwości) i metod operujących na tych danych w obrębie klasy oraz ograniczania bezpośredniego dostępu do nich spoza klasy.

Najważniejsze cechy enkapsulacji:

  • Chroni stan wewnętrzny obiektu.
  • Zapewnia kontrolowany dostęp do właściwości klasy za pomocą metod.
  • Pomaga zachować integralność danych.

Wskazówka: Enkapsulacja jest podstawową koncepcją tworzenia bezpiecznych i modularnych aplikacji.

Modyfikatory dostępu w PHP

Modyfikatory dostępu w PHP

Modyfikatory dostępu określają widoczność właściwości i metod klasy. PHP udostępnia trzy poziomy widoczności:

  • public: Dostępne z dowolnego miejsca.
  • protected: Dostępne tylko w klasie i jej klasach potomnych.
  • private: Dostępne tylko w obrębie samej klasy.

Najważniejsza informacja: Modyfikatory dostępu służą do kontrolowania sposobu uzyskiwania dostępu do właściwości i metod oraz ich modyfikowania.

Korzystanie z właściwości publicznych

Korzystanie z właściwości public

Właściwości zadeklarowane jako public mogą być odczytywane i modyfikowane z dowolnego miejsca. Przykład:

Wskazówka: Warto używać public w przypadku właściwości i metod, do których ma być zapewniony swobodny dostęp.

<?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();
?>

Korzystanie z właściwości prywatnych

Korzystanie z właściwości private

Właściwości zadeklarowane jako private mogą być używane tylko wewnątrz klasy. Przykład:

Najważniejsza informacja: Warto używać private w przypadku właściwości, które należy chronić przed modyfikacją zewnętrzną.

<?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
?>

Korzystanie z właściwości chronionych

Korzystanie z właściwości protected

Właściwości zadeklarowane jako protected są dostępne w obrębie klasy i jej klas potomnych. Przykład:

Najważniejsza informacja: Warto używać protected, aby umożliwić klasom potomnym dostęp do właściwości i metod klasy nadrzędnej.

<?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
?>

Gettery i settery

Gettery i settery

Enkapsulacja często obejmuje używanie metod typu getter i setter w celu zapewnienia kontrolowanego dostępu do prywatnych właściwości. Przykład:

Wskazówka: Za pomocą setterów należy sprawdzać poprawność danych przed modyfikowaniem właściwości.

<?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();
?>

Zalety enkapsulacji

Zalety enkapsulacji

Enkapsulacja zapewnia następujące korzyści:

  • Chroni stan wewnętrzny obiektu.
  • Ułatwia utrzymanie kodu dzięki centralizacji kontroli nad właściwościami.
  • Zapobiega przypadkowym modyfikacjom danych.
  • Zwiększa bezpieczeństwo, ograniczając bezpośredni dostęp do poufnych danych.

Najważniejsza informacja: Enkapsulacja jest podstawową zasadą bezpiecznego i modularnego programowania obiektowego.

Świetna robota!

Świetna robota!

Gratulacje! Poznali Państwo enkapsulację oraz sposób, w jaki modyfikatory dostępu kontrolują widoczność właściwości i metod klasy. W następnej lekcji omówimy polimorfizm i to, jak zapewnia on elastyczność zachowania obiektów. Kontynuujmy programowanie!

Enkapsulacja i modyfikatory dostępu — ilustracja 10

Często zadawane pytania

Czy lekcja „Enkapsulacja i modyfikatory dostępu” jest bezpłatna?

Tak — pełny tekst „Enkapsulacja i modyfikatory dostępu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 5 lekcji w sumie.

Co nauczysz się w „Enkapsulacja i modyfikatory dostępu”?

Chroń właściwości i metody oraz kontroluj dostęp do nich Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć PHP Academy?

Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 5.

Ile czasu zajmuje lekcja „Enkapsulacja i modyfikatory dostępu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?

Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do OOP w PHP
  2. Definiowanie klas i obiektów
  3. Dziedziczenie
  4. Enkapsulacja i modyfikatory dostępu
  5. Polimorfizm
← Powrót do PHP Academy