⊗ppOpCgCC 43 of 107 menu

PHP да ООП да объект яратилгандан сўнг методни дароқ чақириш

Айтайлик бизда Arr класси бор бўлиб, у рақамлар массивни сақлайди ва getSum методи ёрдамида шу рақамлар йиғиндисини ҳисоблай олади. Рақамларнинг ўзи объектнинг конструкторига массив коринишида келади, шунингдек add методи ёрдамида алохида қўшилиши мумкин:

<?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 классидан фойдаланиш мисоли:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // чиқади 15 ?>

Эҳтимол, биз керакли барча рақамларни объект яратилган пайтда ўтказамиз, сўнгра дароқ уларнинг йиғиндисини топмоқчи бўламиз:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // чиқади 6 ?>

Агар биз объект билан бошқа ҳеч қандай амаллар бажармасак, юқоридаги кодни қисқароқ ёзиш мумкин: объект яратиб, дароқ унинг getSum методини чақириш мумкин:

<?php echo (new Arr([1, 2, 3]))->getSum(); // чиқади 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); } } ?>

Айтайлик, ушбу класс билан куйидагича иш олиб борилган:

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

Ушбу кодни классни ўрнида чақириш орқали қайта ёзинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш