PHP с нуля. Урок #8.0. Классы и объекты

Премиум
Премиум
Статус
Оффлайн
Регистрация
3 Дек 2017
Сообщения
234
Реакции
201
Сегодня мы поговорим о классах. Без вступлений, давайте начнем.

Класс - это базовое понятие в объектно-ориентированном программировании (ООП). Классы образуют синтаксическую базу ООП. Их можно рассматривать как своего рода "контейнеры" для логически связанных данных и функций (обычно называемых методами). Если сказать проще, то класс - это своеобразный тип данных.
Взято с php.su - не реклама
Экземпляр класса - это объект. Объект - это совокупность данных (свойств) и функций (методов) для их обработки. Свойства и методы называются членами класса.
Взято с php.su - не реклама
Для создания класса необходимо использовать следующий синтаксис:
Код:
Expand Collapse Copy
class ClassName {
    // Some code
}
В этом примере мы создали класс с именем className.
Для создания объекта необходимо использовать следующий синтаксис:
Код:
Expand Collapse Copy
$obj = new className;
В этом примере мы создали экземпляр $obj класса className.
В классе могут содержаться данные и функции. Но как их туда внести?
Код:
Expand Collapse Copy
class SomeClass {
    var $firstVar;
    var $secondVar;
   
    function double($x) {
        return $x*2;
    }
}
В этом коде мы поместили данные (2 переменных) и функцию. Но как же получить к ним доступ? - Смотрите следующий спойлер!
Рассмотрим пример с классом из предыдущего спойлера (класс с именем SomeClass).
Для начала создадим объект (экземпляр класса SomeClass):
Код:
Expand Collapse Copy
$someObj = new SomeClass;
чтобы получить доступ к свойствам или методам объекта, нужно использовать "стрелочку" ->:
Например,
Код:
Expand Collapse Copy
$someObj->firstVar = 5; // Изменяем переменную $firstVar
echo $someObj->firstVar; // Выводим переменную $firstVar
echo $someObj->double(5); // Вызываем функцию double (Выведет 10, т.к. 5*2=10)
В следующем уроке мы поговорим о модификаторах доступа, $this, и еще о кое-чем.
_________________________________________________________________________
Если у вас возникли вопросы - пишите в теме. Надеюсь, отвечу :)
Если вы нашли у меня ошибку - пишите в ЛС, чтобы не засорять тему - поправлю.
Если вы хотите дополнить меня - пишите в теме, либо в ЛС - добавлю, оставлю credits.
 
Если ты используешь var , что эквивалентно public , тогда стоило сразу сказать про три типа переменных в классах?

VAR давно не используется в проектах.

Вместо этого стоило объяснить про public / private / protected типы и с чем их едят.
Это первоначально должно быть в классах, чтобы объяснить суть работы классов и доступа к переменным/функциям.

Надеюсь в следующих уроках ты подробно остановишься про типы и объяснишь зачем они нужны.


Ни в одной документации на php.net не видел использование VAR . Вместо этого они сразу задают тип public .
 
Если ты используешь var , что эквивалентно public , тогда стоило сразу сказать про три типа переменных в классах?

VAR давно не используется в проектах.

Вместо этого стоило объяснить про public / private / protected типы и с чем их едят.
Это первоначально должно быть в классах, чтобы объяснить суть работы классов и доступа к переменным/функциям.

Надеюсь в следующих уроках ты подробно остановишься про типы и объяснишь зачем они нужны.


Ни в одной документации на php.net не видел использование VAR . Вместо этого они сразу задают тип public .
В следующем уроке мы поговорим о модификаторах доступа
 
Назад
Сверху Снизу