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. Чим відрізняється створення об'єктів з допомогою конструктора і без?