⊗ppOpCgCC 43 of 107 menu

PHP-də OOP-də obyekt yaradıldıqdan dərhal sonra metodun çağırılması

Tutaq ki, bizə Arr sinifi verilib, hansı ki, özündə ədədlər massivini saxlayır və getSum metodu vasitəsilə bu ədədlərin cəmini hesablaya bilir. Ədədlərin özləri massiv şəklində obyektin konstruktoruna ötürülür və həmçinin add metodu ilə bir-bir əlavə oluna bilər:

<?php class Arr { private $numbers = []; public function __construct($numbers) { $this->numbers = $numbers; } public function add($number) { $this->numbers[] = $number; } public function getSum() { return array_sum($this->numbers); } } ?>

Arr sinifindən istifadə nümunəsi:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // çap edəcək 15 ?>

Ola bilər ki, bütün lazımi ədədləri biz obyekt yaradılma anında ötürək, sonra isə dərhal onların cəmini tapmaq istəyək:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // çap edəcək 6 ?>

Əgər biz artıq obyektlə heç bir manipulyasiya etməyi planlaşdırmırıqsa, yuxarıdakı kodu daha qısa şəkildə yazmaq olar: obyekt yaradıb dərhal onun getSum metodunu çağırmaq olar:

<?php echo (new Arr([1, 2, 3]))->getSum(); // çap edəcək 6 ?>

<?php class StringProcessor { private $str = ''; public function __construct($text) { $this->str = $text; } public function append($text) { $this->str .= $text; return $this; } public function getValue() { return $this->str; } public function getLength() { return strlen($this->str); } } ?>

Tutaq ki, bu siniflə aşağıdakı kimi işlənilib:

<?php $str = new Str('aaa'); $str->append('bbb'); $str->append('ccc'); echo $str->getLength(); ?>

Bu kodu sinifi yerindəcə çağırmaq vasitəsilə yenidən yazın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et