Статичні властивості і методи в php

Статичні властивості і методи в PHP

Дуже важливою особливістю ООП є наявність статичних властивостей і методів. Головне, що необхідно відразу зрозуміти, що такі властивості і методи належать не об`єкту, а класу. Це потрібно зрозуміти з самого початку, а ось застосування статичних властивостей і методів в PHP я розгляну в цій статті.

Самий класичний приклад - це клас, який відповідає за математичні функції. Якщо хтось знає Java, то він знає, що там є клас Mathjа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Модифікатори доступу в php
Об`єкт number в jаvascriptОб`єкт number в jаvascript
Абстрактні класи в phpАбстрактні класи в php
Reflection api. Reflectionproperty.Reflection api. Reflectionproperty.
Метод tostring () в phpМетод tostring () в php
Reflection api. Reflectionclass.Reflection api. Reflectionclass.
Об`єкт object в jаvascriptОб`єкт object в jаvascript
Математичні функції в phpМатематичні функції в php
Створення класу в phpСтворення класу в php
Серіалізация об`єктів в php.Серіалізация об`єктів в php.
» » Статичні властивості і методи в php