⊗ppOpCgCC 43 of 107 menu

PHP'de OOP'de Nesne Oluşturulduktan Hemen Sonra Metot Çağrısı

Bize, bir dizi sayıyı saklayan ve getSum metodu ile bu sayıların toplamını hesaplayabilen bir Arr sınıfı verildiğini varsayalım. Sayıların kendisi bir dizi olarak nesnenin yapıcısına (constructor) gelir ve ayrıca add metodu ile tek tek eklenebilir:

<?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); } } ?>

İşte Arr sınıfının kullanımına bir örnek:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // 15 yazdırır ?>

Nesne oluşturma anında tüm gerekli sayıları ileteceğimiz ve ardından hemen toplamlarını bulmak isteyeceğimiz durumlar olabilir:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // 6 yazdırır ?>

Nesneyle başka herhangi bir işlem yapmayı planlamıyorsak, yukarıdaki kodu daha kısa bir şekilde yeniden yazabiliriz: nesneyi oluşturup hemen getSum metodunu çağırabiliriz:

<?php echo (new Arr([1, 2, 3]))->getSum(); // 6 yazdırır ?>

<?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); } } ?>

Bu sınıfla şu şekilde çalışıldığını varsayalım:

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

Bu kodu, sınıfı yerinde (doğrudan) çağırarak yeniden yazın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet