Статичні властивості і методи в php
Дуже важливою особливістю ООП є наявність статичних властивостей і методів. Головне, що необхідно відразу зрозуміти, що такі властивості і методи належать не об`єкту, а класу. Це потрібно зрозуміти з самого початку, а ось застосування статичних властивостей і методів в PHP я розгляну в цій статті.
Самий класичний приклад - це клас, який відповідає за математичні функції. Якщо хтось знає Java, то він знає, що там є клас Math (в jаvascript такий клас теж є), що містить безліч математичних функцій. І там методи є статичними. Це означає, що для того, щоб порахувати який-небудь синус або експоненту, не потрібно створювати об`єкт даного класу, що дуже зручно.
Давайте ми з Вами напишемо зменшену копію даного класу, але тільки для PHP:
lt ;?php
classMath{
privatestatic $ count =0-
publicfunction __construct(){
self::$ count++-
}
publicstaticfunction calcSin($ x){
return sin($ x) -
}
publicstaticfunction calcSQRT($ x){
return sqrt($ x) -
}
publicstaticfunction getCount(){
returnself::$ count-
}
}
echo Math::calcSin(1) -
echo "
"-
echo Math::calcSQRT(9) -
echo "
"-
$ math =newMath() -
$ math_2 =newMath() -
echo Math::getCount() -
?gt;
В даному коді я показав використання статичних методів і властивостей. Зверніть увагу, що я реалізував класичний спосіб лічильника об`єктів. Це вийшло лише завдяки тому, що поле count є статичним, і воно має одне і те ж значення для всіх об`єктів.
Ще один популярний приклад використання статичних методів і властивостей - це ведення журналу. Всі записи додаються через статичні методи. Також дуже часто роблять клас, що складається з безлічі налаштувань, і там також все поля є статичними. Як бачите, прикладів використання статичних методів і властивостей в PHP та іншими мовами більш, ніж достатньо, тому вміти з ними працювати треба обов`язково.
- Як створити об`єкт по імені класу в php
- Як використовувати інтерфейс countable в php.
- Об`єкт math в jаvascript
- Об`єкт number в jаvascript
- Абстрактні класи в php
- Метод tostring () в php
- Вивчаємо coffeescript. Класи.
- Серіалізация об`єктів в php.
- Об`єкт object в jаvascript
- Reflection api. Reflectionclass.
- Об`єкт array в jаvascript
- Модифікатори доступу в php
- Клас для роботи з базою даних
- Поняття ооп в jаvascript
- Створення класу в php
- Reflection api. Reflectionobject.
- Reflection api. Reflectionmethod.
- Об`єкти, прототипи і конструктори в мові jаvascript.
- Математичні функції в php
- Reflection api. Reflectionproperty.
- Об`єкт date в jаvascript