⊗ppOpAdCOM 22 of 107 menu

ობიექტების მანიპულირება კლასებში OOP-ში PHP-ში

კლასების მეთოდებს შეუძლიათ სხვა კლასების ობიექტები მიიღონ პარამეტრებად და ამ ობიექტებით მანიპულირება. მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს შემდეგი კლასი:

<?php class User { private $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

დავუშვათ, გადავწყვიტეთ კლასის შექმნა, რომელიც მანიპულირებას შეასრულებს მომხმარებლების ობიექტების სიმრავლით:

<?php class UsersCollection { } ?>

მომხმარებლების ობიექტები შევინახოთ მასივის სახით პრივატულ თვისებაში:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } } ?>

შევქმნათ მეთოდი ახალი მომხმარებლის მასივში დასამატებლად:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } public function add($user) { $this->users[] = $user; } } ?>

ახლა შევქმნათ მეთოდი, რომელიც გამოიტანს ყველა მომხმარებლის სახელს:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } public function add($user) { $this->users[] = $user; } public function show() { foreach ($this->users as $user) { echo $user->getName() . '<br>'; } } } ?>

მოდით შევხედოთ ჩვენი კლასის მუშაობას. პირველ რიგში, შევქმნათ მისი ობიექტი:

<?php $uc = new UsersCollection(); ?>

ახლა დავამატოთ ჩვენ კოლექციაში რამდენიმე მომხმარებელი:

<?php $uc->add(new User('john')); $uc->add(new User('eric')); $uc->add(new User('kyle')); ?>

ახლა კი გამოვიძახოთ მეთოდი, რომელიც გამოიტანს ყველა მომხმარებლის სახელს:

<?php $uc->show(); ?>

შექმენით კლასი EmployeesCollection, რომელიც შეიცავს თანამშრომლების მასივს.

შექმენით ამ კლასში მეთოდი ახალი თანამშრომლის დასამატებლად.

შექმენით ამ კლასში მეთოდი ყველა თანამშრომლის გამოსახვისთვის.

შექმენით ამ კლასში მეთოდი ყველა თანამშრომლის მთლიანი ხელფასის გამოსათვლელად.

შექმენით ამ კლასში მეთოდი ყველა თანამშრომლის საშუალო ხელფასის გამოსათვლელად.

ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა