<?php
/*
* Следует учесть, что, поскольку переменные приватные - работать с ними в коде иначе, чем распечатывая массив, не получится
*/
class Person {
private $_name;
private $_age;
private $_job;
function ChangeJob($nevjob){
$this->_job = $nevjob;
}
function ChangeAge() {
++$this->_age;
}
function __construct($name,$job,$age) {
$this->_name = $name;
$this->_job = $job;
$this->_age = $age;
}
function __destruct() {
$name = $this->_name;
echo "Удален класс ".__CLASS__." для персоны с именем ".$name."<br/>";
}
}
echo "Привет";
$person1 = new Person("Елена", "Фрилансер", 49);
$person2 = new Person("Элина", "Студентка", 18);
$person3 = new Person("Анастасия", "Студентка", 16);
echo "<pre>Person 1: ", print_r($person1, TRUE), "</pre>";
echo "<pre>Person 2: ", print_r($person2, TRUE), "</pre>";
echo "<pre>Person 3: ", print_r($person3, TRUE), "</pre>";
$person1->ChangeJob("Миллионерша");
$person1->ChangeAge();
$person2->ChangeJob("Студентка и Фрилансер по совместимости - девочка успешна и довольна");
$person2->ChangeAge();
$person3->ChangeJob("Все еще студентка - но это не надолго");
$person3->ChangeAge();
echo "<pre>Person 1: ", print_r($person1, TRUE), "</pre>";
echo "<pre>Person 2: ", print_r($person2, TRUE), "</pre>";
echo "<pre>Person 3: ", print_r($person3, TRUE), "</pre>";
?>
Получим на экране
Привет
Person 1: Person Object
(
[_name:Person:private] => Елена
[_age:Person:private] => 49
[_job:Person:private] => Фрилансер
)
Person 2: Person Object
(
[_name:Person:private] => Элина
[_age:Person:private] => 18
[_job:Person:private] => Студентка
)
Person 3: Person Object
(
[_name:Person:private] => Анастасия
[_age:Person:private] => 16
[_job:Person:private] => Студентка
)
Person 1: Person Object
(
[_name:Person:private] => Елена
[_age:Person:private] => 50
[_job:Person:private] => Миллионерша
)
Person 2: Person Object
(
[_name:Person:private] => Элина
[_age:Person:private] => 19
[_job:Person:private] => Студентка и Фрилансер по совместимости - девочка успешна и довольна
)
Person 3: Person Object
(
[_name:Person:private] => Анастасия
[_age:Person:private] => 17
[_job:Person:private] => Все еще студентка - но это не надолго
)
Удален класс Person для персоны с именем Анастасия
Удален класс Person для персоны с именем Элина
Удален класс Person для персоны с именем Елена