PHP. ООП. Область видимости

Главная » Видеоуроки » PHP » PHP. ООП. Область видимости
Мы продолжаем изучать основные принципы ООП в PHP. Сегодня мы рассмотрим область видимости свойств и методов класса. Есть три модификатора области видимости:

  • public — свойства или методы, объявленные как public, могут быть доступны в любом месте.
  • protected — protected свойства и методы доступны внутри класса, а также в дочерних классах.
  • private — доступ к private свойствам и методам имеет только класс, в котором эти свойства или методы объявлены
Если вы не указываете модификатор доступа напрямую, то он будет считаться как public. Также отмечу, что protected и private свойства или методы недоступны вне классов, т.е к ним нельзя обращаться в контексте объектов.
Подробно об области видимости в php можно почитать на официальном сайте php по ссылке

Код урока

<?php
/*
** Область видимости
** Нельзя переопределить private в дочерних классах
**/

class Man {

    public $name = "Камиль";
    protected $surname = "Абзалов";
    private $age = 27;

    public function printInfo() {
        echo $this->name . " " . $this->surname . " " . $this->age;
    }

    protected function printProtected() {
        echo "Вызов protected метода";
    }

    protected function printPrivate() {
        echo "Вызов private метода";
    }

}

class Kamil extends Man {

    public $name = "Еще один Камиль";
    protected $surname = "c фамилией Абзалов";

}

$man = new Man();
$kamil = new Kamil();


print_r($man);
echo "<br>";

print_r($kamil);
echo "<br>";

echo $man->name;
echo "<br>";
/*echo $man->surname;
echo "<br>";
echo $man->age;
echo "<br>";*/

echo $kamil->name;
echo "<br>";
/*echo $kamil->surname;
echo "<br>";
echo $kamil->age;*/


echo $man->printInfo();
echo "<br>";

/*echo $man->printProtected();
echo "<br>";

echo $man->printPrivate();
echo "<br>"; */

echo $kamil->printInfo();
echo "<br>";

/*echo $man->printProtected();
echo "<br>";

echo $man->printPrivate();
echo "<br>"; */

0 Комментариев

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Pin It on Pinterest

Share This