⊗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çeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу