ООП   PHP   web   4GL - визуальные среды

Объектно-ориентированное программирование на PHP

Стало стандартом, что изучение ООП всегда начинается с понятия «класса». Давайте и мы не будем отходить от этих правил. Идея объектно-ориентированного программирования заключается в том, что в ООП мы начинает думать сущностями. А что такое сущность? - Это все, что нас окружает, то есть это обычные объекты. А объектом у нас может быть все что угодно (автомобиль, дом, компьютер и т.д.). Что такое класс? - Класс описывает эти объекты, то есть является их формальной моделью.

Например, у нас есть объект «автомобиль». Прежде чем его собрать, нам нужен чертеж. В этом чертеже должно прописываться, то, что мы должны знать об этом автомобиле — это то, что автомобиль обладает некоторыми свойствами (цвет, размер, максимальная скорость, уровень безопасности) и методами (автомобиль может двигаться вперед и назад, поворачивать руль, следить за усталостью водителя и т.д.).

В объектно-ориентированном программировании для того, чтобы описать такой чертеж существует понятие «класс». «Класс» обязательно должен включать в себя описание таких понятий, как свойства и методы рассматриваемого объекта.

Итак, как же записывается «класс»? Записывается он следующим образом — вначале идет ключевое слово class, затем имя класса и фигурные скобки, в которых описываются свойства и методы:

<?php
class Car{
//описание свойств
//описание методов
}
?>

Обратите внимание, что имена классов регистрозависимы.

Основываясь на этом классе можно создавать объекты или в ООП они еще называются «экземпляры класса». Объект класса создается следующим образом — ставится переменная, далее идет ключевое new и имя класса с круглыми скобками:

<?php
//описание объекта 
class Car{
//описание свойств
//описание методов
}
//создание объекта
$car = new Car();
?>

От одного класса (чертежа) можно создавать несколько экземпляров класса или объектов (машин):

<?php
//описание объекта 
class Car{
//описание свойств
//описание методов
}
//создание объекта
$car1 = new Car();
$car2 = new Car();
?>

Теперь давайте разберем, что же такое свойства и методы объекта. Начнем с свойств. Это обычные переменные. Но не совсем. Если переменная находится где-то в коде, то это обычная переменная. А если переменная находится в классе, то эта переменная — свойство.

Например, у автомобиля есть год выпуска. Соответственно инициализируем переменную $year. Мы можем присвоить ей значение по умолчание, например 2003. Также у автомобиля есть максимальная скорость, инициализируем переменную $speed. Еще у автомобиля есть марка, делаем переменную $model. Все эти переменные — это свойства объекта, то есть нашего автомобиля.

Однако в объектно-ориентированном программировании перед такими переменными-свойствами принято ставить модификаторы доступа. Что такое модификаторы доступа? Это ключевые слова, которые обозначают возможность доступа или возможность обратиться из методов объекта или из экземпляров класса к свойствам этого объекта. Эти ключевые слова записываются как public, protected, private. Более подробно о них мы поговорим чуть позже. А пока будем использовать модификатор public:

<?php
//описание объекта 
class Car{
	public $year = 2003;
	public $speed;
	public $model;
}
//создание объекта
$car1 = new Car();
$car2 = new Car();
?>

Теперь, смотрите, что у нас здесь происходит. Мы из класса создали два объекта или два экземпляра класса, которые обладают одинаковыми свойствами, два из которых не определены ($speed, $model) и одним свойством, у которого есть значение по умолчанию ($year = 2003).

Я хочу обратиться к одному из свойств из одного из созданного объекта. Как мне это сделать? Для этого я пишу имя переменной, которой присвоен объект, далее ставлю вот такую стрелку -> (тире и знак больше) и имя свойства, но без знака доллара:

<?php
//описание объекта 
class Car{
	public $year = 2003;
	public $speed;
	public $model;
}
//создание объекта
$car1 = new Car();
$car2 = new Car();
echo $car1->year;//обращение к свойству объекта
?>

Далее я хочу присвоить первому и второму автомобилю скорость и модель. Так как изначально у нас нет значения скорости по умолчанию и нет значения модели, то я это сделаю таким образом: $car1->speed = 210, $car1->model = «bmw», $car2->speed = 260, $car2->model = «lexus»:

<?php
//описание объекта 
class Car{
	public $year = 2003;
	public $speed;
	public $model;
}
//создание объекта
$car1 = new Car();
$car1->speed = 210;//присвоение значения свойству объекта
$car1->model = "bmw";//присвоение значения свойству объекта

$car2 = new Car();
$car2->speed = 260;//присвоение значения свойству объекта
$car2->model = "lexus";//присвоение значения свойству объекта
echo $car2->year;//обращение к свойству объекта
?>

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

Евгений Владимирович Андреев

ООП   PHP   web   4GL - визуальные среды

Знаете ли Вы, что диаграмма состояний состоит
- из множества состояний объектов;
- из множества событий, сообщающих о перемещении чего-либо в новое состояние;
- из множества правил переходов, определяющих новое состояние объекта при возникновении тех или иных событий;
- из множества действий, которые должны быть выполнены объектом, когда он переходит в новое состояние.

Bourabai Research Institution home page

Боровское исследовательское учреждение - Bourabai Research Bourabai Research Institution