[24-11-2009] Джо
Объектно-ориентированное программирование ( ООП ) - технология программирования, связанная с использованием объектов - особого типа данных, содержащего собственно разнородные данные ( "свойства" ) и процедуры их обработки ( "методы" ).
Основные идеи ООП:
инкапсуляция - скрытие свойств и методов объекта от внешних процедур. Внешним процедурам доступны только свойства и методы, объявленные public;
наследование - объекты могут наследовать от других объектов методы и свойства. Производный объект наследует от базового методы и свойства в том случае, если они не переопределены в производном классе;
полиморфизм - расширение наследования - переопределение в 2х или нескольких производных от одного базового объектах одних и тех же методов;
абстракция - абстрактный объект - не порождает экземпляры объекта, служит только для создания на его базе производных объектов.
В php5 объект - class.
class Example {
private $pr1;
protected $pr2;
public $pr3;
var $pr4;
private function met1(){
echo("метод 1");
}
protected function met2(){
echo("метод 2");
}
public function met3(){
echo("метод 3");
}
function met4(){
echo("метод 4");
}
function __construct(){
echo("конструктор");
}
function __destruct(){
echo("деструктор");
}
}
Свойства и методы классов имеют 3 уровня доступа:
В примере уровень доступа public имеют свойства $pr3, $pr4 и методы met3, met4.
Конструктор - __construct и деструктор __destruct запускаются неявно при создании и уничтожении экземпляров классов.
Создается экземпляр класса так:
Ex1 = new Example(); //выполняется __construct()
уничтожить экземпляр класса можно обычным способом:
unset(Ex1); // выполняется __destruct()