ООП   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 - визуальные среды

Знаете ли Вы, что такое "Большой Взрыв"?
Согласно рупору релятивистской идеологии Википедии "Большой взрыв (англ. Big Bang) - это космологическая модель, описывающая раннее развитие Вселенной, а именно - начало расширения Вселенной, перед которым Вселенная находилась в сингулярном состоянии. Обычно сейчас автоматически сочетают теорию Большого взрыва и модель горячей Вселенной, но эти концепции независимы и исторически существовало также представление о холодной начальной Вселенной вблизи Большого взрыва. Именно сочетание теории Большого взрыва с теорией горячей Вселенной, подкрепляемое существованием реликтового излучения..."
В этой тираде количество нонсенсов (бессмыслиц) больше, чем количество предложений, иначе просто трудно запутать сознание обывателя до такой степени, чтобы он поверил в эту ахинею.
На самом деле взорваться что-либо может только в уже имеющемся пространстве.
Без этого никакого взрыва в принципе быть не может, так как "взрыв" - понятие, применимое только внутри уже имеющегося пространства. А раз так, то есть, если пространство вселенной уже было до БВ, то БВ не может быть началом Вселенной в принципе. Это во-первых.
Во-вторых, Вселенная - это не обычный конечный объект с границами, это сама бесконечность во времени и пространстве. У нее нет начала и конца, а также пространственных границ уже по ее определению: она есть всё (потому и называется Вселенной).
В третьих, фраза "представление о холодной начальной Вселенной вблизи Большого взрыва" тоже есть сплошной нонсенс.
Что могло быть "вблизи Большого взрыва", если самой Вселенной там еще не было? Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 22.09.2019 - 08:27: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ЗА НАМИ БЛЮДЯТ - Карим_Хайдаров.
22.09.2019 - 08:22: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Галины Царёвой - Карим_Хайдаров.
21.09.2019 - 11:36: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
20.09.2019 - 19:50: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
20.09.2019 - 04:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вячеслава Осиевского - Карим_Хайдаров.
18.09.2019 - 12:08: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> ПРОБЛЕМА ИСКУССТВЕННОГО ИНТЕЛЛЕКТА - Карим_Хайдаров.
18.09.2019 - 06:01: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Л.Г. Ивашова - Карим_Хайдаров.
17.09.2019 - 05:51: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ФАЛЬСИФИКАЦИЯ ИСТОРИИ - Карим_Хайдаров.
17.09.2019 - 05:41: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Андрея Тиртхи - Карим_Хайдаров.
16.09.2019 - 03:11: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
14.09.2019 - 18:23: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
13.09.2019 - 09:08: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution