НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗ppOpStMIC 45 of 107 menu

Статические методы внутри класса в ООП в PHP

Если вы хотите использовать статические методы внутри класса, то к ним следует обращаться не через $this->, а с помощью self::.

Для примера добавим в наш класс Math метод getDoubleSum, который будет находить удвоенную сумму чисел. Используем внутри нового метода уже существующий метод getSum:

<?php class Math { // Найдем удвоенную сумму: public static function getDoubleSum($a, $b) { return 2 * self::getSum($a, $b); // используем другой метод } public static function getSum($a, $b) { return $a + $b; } public static function getProduct($a, $b) { return $a * $b; } } ?>

Воспользуемся новым методом:

<?php echo Math::getDoubleSum(1, 2); ?>

Переделайте методы следующего класса на статические:

<?php class ArraySumHelper { public function getSum1($arr) { return $this->getSum($arr, 1); } public function getSum2($arr) { return $this->getSum($arr, 2); } public function getSum3($arr) { return $this->getSum($arr, 3); } public function getSum4($arr) { return $this->getSum($arr, 4); } private function getSum($arr, $power) { $sum = 0; foreach ($arr as $elem) { $sum += pow($elem, $power); } return $sum; } } ?>
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить