11. Об'єктно-орієнтоване програмування, частина 2

Відредагуйте попередню програму наступним чином:

 - додайте метод construct для упрощення створення нових об'єктів;

 - додайте метод clone для копіювання властивостей об'єктів, які вже існують.

1. Опишіть метод construct. Він матиме наступне ім'я: __construct:

1
2
    function __construct($number, $name, $login, $password){
}

2. У дужках напишіть елементи, які передаватимуться у конструктор, а у тілі функції опишіть:

1
2
3
4
                echo "<p>Викликано автоматично $number!"; // виведення кількості викликів
        $this->name = $name; // присвоєння імені
        $this->login = $login; // логіну
        $this->password = $password; // паролю

 - виведення порядку виведення конструктора;

 - запис інформації у змінні.

3. Створіть метод для копіювання. Його ім'я також починатиметься з __ : __clone:

1
2
3
    function __clone(){
                echo "Копійований об'єкт";
    }   

4. Перепишіть створені об'єкти новим способом:

1
2
3
4
5
$user1 = new Users(1,"Vasya", "vas", "123");
 
$user2 = new Users(2,"Petya", "pet", "321");
 
$user3 = new Users(3,"Vova", "vov", "456");

5. Клонуйте декілька об'єктів:

1
2
$user4 = clone $user2;
    $user4->getInfo();

6. Виведіть новостворені об'єкти заново:

1
2
3
4
    $user1->getInfo();
    $user2->getInfo();
    $user3->getInfo();
    $user4->getInfo();

7. Результат:

Контрольні питання:

1. Для чого використувується функція clone?

2. Для чого використовується функція construct?

3. Чим відрізняється створення об'єктів з допомогою конструктора і без?

Tags: