⊗ppOpCgCC 43 of 107 menu

Gọi phương thức ngay sau khi tạo đối tượng trong OOP PHP

Giả sử chúng ta có lớp Arr, lớp này lưu trữ một mảng số và có thể tính toán tổng của các số này bằng phương thức getSum. Các số được truyền vào dưới dạng mảng trong hàm tạo đối tượng, và cũng có thể được thêm từng số một bằng phương thức 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); } } ?>

Đây là ví dụ về cách sử dụng lớp Arr:

<?php $arr = new Arr([1, 2, 3]); $arr->add(4); $arr->add(5); echo $arr->getSum(); // sẽ xuất ra 15 ?>

Có thể xảy ra trường hợp tất cả các số cần thiết chúng ta truyền vào tại thời điểm tạo đối tượng, sau đó ngay lập tức muốn tìm tổng của chúng:

<?php $arr = new Arr([1, 2, 3]); echo $arr->getSum(); // sẽ xuất ra 6 ?>

Nếu chúng ta không có kế hoạch thực hiện bất kỳ thao tác nào khác với đối tượng, thì đoạn mã trên có thể được viết ngắn gọn hơn: có thể tạo đối tượng và ngay lập tức gọi phương thức getSum của nó:

<?php echo (new Arr([1, 2, 3]))->getSum(); // sẽ xuất ra 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); } } ?>

Giả sử lớp này được sử dụng theo cách sau:

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

Hãy viết lại đoạn mã này thông qua việc gọi lớp ngay tại chỗ.

Tiếng Việt
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ʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối