Профессиональное программирование на PHP

Страница 47 из 591


50 Глава 2 Объектно-ориентированное программирование...

<?PHP

function hello($name) {

return "Здравствуйте, $name!\n";

function goodbye($name) {

^ return "До свидания, $name! Nonfunction age($birthday) {

$ts = strtotime($birthday);

if($ts === -1) {

return " Неизвестно"

else {

$diff = time() - $ts;

return floor($diff/(24*60*60*365));

} }

$name = "Джордж";

$bday = "10 Oct 1973";

print hello($name);

print "Вам ".age($bday)." лет.\п";

print goodbye($name);

?>

Введение в ОО-программирование

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

Объект определяется классом, экземпляром которого он является. Класс определяет атрибуты объекта, а также методы, которые могут потребоваться. Объект создается путем создания экземпляра класса. При создании экземпляра класса создается новый объект, инициализируются все его атрибуты, а также вызывается конструктор (constructor), который представляет собой функцию, осуществляющую какие-либо начальные операции. Чтобы ядро могло идентифицировать конструктор класса, в РНР 5 он должен называться _construct (). В следующем примере формируется простой класс User, создается

и инициализируется его объект, а также вызываются два метода:

<?РНР

class User { public $name; public $birthday;

public function_construct($name, $birthday)

$this->name = $name; $this->birthday = $birthday;

public function hello() {

return "Здравствуйте, $this->name!\n";




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006