Конструкторы и Деструкторы

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

Объектно-ориентированное программирование (ООП) – это методология (метод, подход) программирования согласно которой программный продукт представляется в виде взаимодействующих объектов.

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

Три принципа ООП

ООП основано на трёх принципах, это:

Инкапсуляция – это принцип, согласно Конструкторы и Деструкторы которому данные соединяются воединыжды и хранятся в объектах, также защищаются от неправильного использования.

Наследование – это процесс приобретения одним типом объектов (классом) неких параметров другого типа объектов.

Полиморфизм – это внедрение 1-го и такого же имени способа для решения нескольких схожих задач.

Оглавление

МОДУЛЬ 1. 3

1 Классы и объекты в PHP. 3

2 Конструкторы и Деструкторы Конструкторы и Деструкторы.. 6

3 Очевидное клонирование объекта. 7

4 Наследование и полиморфизм классов в PHP. 9

5 Перегрузка способов. 10

6 Воззвание к полям и способам класса-предка. 11

7 Обработка исключительных ситуаций (исключений). 12

8 Константы класса. 14

МОДУЛЬ 2. 15

9 Абстрактные способы и классы.. 15

10 Интерфейсы.. 16

11 Статические характеристики и способы класса. 18

12 Оператор instanceof. 19

13 Способ __toString(). 20

14 Функция _autoload(). 20

МОДУЛЬ 3. 22


МОДУЛЬ 1

1 Классы и объекты в PHP

Класс - это Конструкторы и Деструкторы базисное понятие в ООП. Классы образуют синтаксическую базу ООП. Их можно рассматривать как собственного рода "контейнеры" для логически связанных данных и функций (обычно именуемых способами).

Экземпляр класса - это объект. Объект - это совокупа данных (параметров) и функций (способов) для их обработки. Характеристики и способы именуются членами класса. Вообщем, объектом является все то, что поддерживает Конструкторы и Деструкторы инкапсуляцию.

Если класс можно рассматривать как тип данных, то объект — как переменную (по аналогии). Скрипт может сразу работать с несколькими объектами 1-го класса, как с несколькими переменными.

Описание классов в PHP начинаются служебным словом class. После него следует имя класса. Называть классы принято с большой буковкы. После имени класса Конструкторы и Деструкторы в фигурных скобках следует описание членов класса – его полей (данных) и способов.

class Имя_класса {
// описание членов класса - параметров и способов для их обработки
}

Для объявления объекта нужно использовать оператор new:

Объект = new Имя_класса;

При описании полей (способов) класса необходимо указывать спецификатор доступа – ключевое слово, которое будет определять область видимости поля Конструкторы и Деструкторы, к которому оно относится. В php есть три спецификатора доступа: public, protected, private. Спецификатор public обеспечивает доступ к полю из хоть какого места, protected – только из классов стоящих в той же цепочке наследования (из класса-потомка, из потомка потомка и т.д.), private воспрещает доступ ото везде, не считая самого Конструкторы и Деструкторы класса. После спецификатора доступа идёт имя поля, предварённое знаком бакса.

Способ описывается так же, как и обычная пользовательская функция. Способу также можно передавать характеристики. Описания способа в классе, как и описание поля, начинается со спецификатора доступа, потом следует ключевое слово function, имя способа и перечень характеристик в круглых скобках.

Пример Конструкторы и Деструкторы:

Доступ к полям класса

Для доступа к полям класса употребляется знак '->'. Имя поля, к которому мы желаем обратиться пишется без знака бакса. Значение полей класса по дефлоту можно установить прямо при объявлении хоть каким литеральным (очевидно обозначенным) значением. При объявлении нельзя присвоить полю класса итог работы функции, кроме Конструкторы и Деструкторы array(), либо экземпляр класса. Схожий приём считается дурным тоном, так как объявляя поля в классе, мы сообщаем, какие данные будут храниться в экземплярах этого класса. Для динамически определяемых параметров мы не можем гарантировать их наличие в экземпляре. Чтоб получить доступ к членам класса снутри класса, нужно использовать указатель $this, который всегда относится к Конструкторы и Деструкторы текущему объекту (которое, в отличие от многих других языков программирования, в PHP пишется со знаком бакса).

Пример:

Доступ к способам класса

Указатель $this можно также использовать для доступа к способам, а не только лишь для доступа к данным:

Снутри способа доступ к текущему экземпляру класса можно получить с помощью ключевика $this Конструкторы и Деструкторы. За пределами класса вызов способов делается с указанием имени экземпляра класса. Как и для доступа к полям, для вызова способов употребляется знак '->'.

Пример:

Пример:

Задание 1

1. Сделайте класс User со качествами name, login и password;

2. Сделайте три объекта, экземпляра класса User;

3. Задайте произвольные значения параметров name, login и password для Конструкторы и Деструкторы каждого из объектов;

4. В классе User опишите способы setName и getName, дозволяющие установить и получить значение соответственного поля name;

5. Вызовите способ showInfo() для 1-го из объектов;

6. В классе User опишите способ showInfo();

7. Способ showInfo() должен выводить значения параметров объектов;

8. Вызовите способ showInfo() для каждого объекта;

9. Видоизмените способ showInfo() – который Конструкторы и Деструкторы в качестве параметра воспринимает разделитель меж выводом полей объекта класса (по дефлоту – переход на новейшую строчку);

10. Вызовите способ showInfo() для каждого объекта с различными разделителями;

Итог работы:

Конструкторы и Деструкторы

Для того, чтоб присвоить полям значения при разработке экземпляра класса есть конструкторы. Конструктор у класса в php Конструкторы и Деструкторы может быть только один и если он не объявлен, то значения экземпляра остаются равными значениям по дефлоту. При объявлении конструктора указывается пишется ключевое слово function и __construct. По дефлоту спецификатор доступа – public и его можно опустить. Конструктор, как и способ, имеет доступ ко всем полям класса через ключевое слово $this. Можно рассматривать конструктор Конструкторы и Деструкторы как способ, который вызывается при разработке экземпляра класса.

В старенькых версиях php имя конструктора должно было совпадать с именованием класcа, что на сегодня является устаревшим синтаксисом.

Необходимость в вызове деструкторов появляется только при работе с объектами, использующими большой объем ресурсов, так как все переменные и объекты автоматом уничтожаются по Конструкторы и Деструкторы окончании сценария. При объявлении деструктора указывается ключевое слово function и __construct. Деструктор будет вызван при освобождении всех ссылок на определенный объект либо при окончании скрипта. Деструктор будет вызван даже в этом случае, если скрипт был остановлен при помощи функции exit(). Вызов exit() в деструкторе предупредит пуск всех следующих функций окончания.

Пример Конструкторы и Деструкторы:

Увлекательная подробность: зависимо от количества передаваемых характеристик могут вызываться различные конструкторы (к примеру, раздельно для сотворения объекта и для инициализации полей).

Задание 2

1. В классе User опишите конструктор;

2. Конструктор должен задавать исходные значения параметров name, login и password;

3. Сделайте поновой три объекта, экземпляра класса User;

4. Опишите деструктор в классе User.


konsultantplyus-novoe-v-rossijskom-zakonodatelstve-ezhenedelnie-obzori-stranica-11.html
konsultantplyus-novoe-v-rossijskom-zakonodatelstve-ezhenedelnie-obzori-stranica-6.html
konsultativnaya-perepiska.html