16 авг. 2009 г.

ООП на PHP. Часть 1 - Введение

Я программирую на php чуть больше чем 1.5 года. Из выполненных проектов, о которых я напишу чуть позже, только 1 на ООП. И то потому что я выполнил его на Zend Framework. И на самом деле плохо понимаю сам принцип ООП. Так вот в этих статьях я буду делать заметки при детальном изучении ООП. В качестве источника я выбрал книгу "PHP5 Объектно Ориентированное Программирование". Автор: Питер Ловэйн. И множество определений я буду брать у него, так как считаю, что он разъясняет все достаточно подробно. Итак начнем.

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

Объект
Сам по себе класс не может быть объектом, зато дает способ порождению объекта. Т.е класс это своего рода чертеж или шаблон по которому создается объект. Получаем, что объект - экземпляр класса.

Модификаторы доступа
Модификаторы доступа уточняют модель объекта, контролируя, как именно можно использовать его. Т.е. модификаторы доступа определяют, что можно, а что нельзя делать с объектом. Модификаторы доступа задают правила работы с классом, это синтаксически определенный "этикет" часто называют интерфейсом

Наследование
Так же как ребенок наследует гены родителей, определяющий его внешность и поведение, также и определяется "наследование" в ООП. Смысл абсолютно такой же. Т.е. если Вы наследуете свой класс от класса написанного другим человеко, то Ваш класс будет иметь такое же поведение. Фактически вы можете вызывать функции из класса от которого наследуете свой класс. Также стоит отметить, что в PHP5 отсутствует множественное наследование, т.е один класс может иметь всего одного родителя.

Я думаю на первый раз достаточно. Первичная теория есть, а как известно без теории и нечего практиковать. Посты про ООП в PHP5 я буду писать по выходным, так как другого времени у меня нету. Надеюсь на ваши замечания. Давайте разбираться вместе :)

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

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