PHP හි OOP හි පන්තිවල වස්තු සෙලෝවීම

පන්ති වලට වෙනත් පන්තිවල වස්තු පරාමිති ලෙස ලබාගෙන ඒ වස්තූන් සෙලෝවීමට හැකිය. අපි උදාහරණයක් බලමු. අපට පහත පන්තිය ඇතැයි සිතමු:

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

පරිශීලකයින් සමඟ වස්තූන් කට්ටලයක් සෙලෝවන පන්තියක් සෑදීමට අපි තීරණය කළා යැයි සිතමු:

php<?php
  class UsersCollection {
    
  }
?>

පරිශීලකයින් සමඟ වස්තූන් අරාවක ආකාරයෙන් පෞද්ගලික ගුණාංගයක ගබඩා කරමු:

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

අරාවට නව පරිශීලකයකු එකතු කිරීම සඳහා විධියක් සාදමු:

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

දැන් සියලුම පරිශීලකයින්ගේ නම් ප්‍රදර්ශනය කරන විධියක් සාදමු:

php<?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<?php
  $uc = new UsersCollection();
?>

දැන් අපේ සංග්‍රහයට පරිශීලකයින් කිහිප දෙනකු එකතු කරමු:

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

දැන් සියලුම පරිශීලකයින්ගේ නම් ප්‍රදර්ශනය කරන විධිය අමතන්න:

php<?php
  $uc->show();
?>
Задание 1

කම්කරුවන්ගේ අරාවක් අඩංගු වන EmployeesCollection පන්තිය සාදන්න.

Задание 2

මෙම පන්තියේ නව කම්කරුවකු එකතු කිරීම සඳහා විධියක් සාදන්න.

Задание 3

මෙම පන්තියේ සියලුම කම්කරුවන් ප්‍රදර්ශනය කිරීම සඳහා විධියක් සාදන්න.

Задание 4

මෙම පන්තියේ සියලුම කම්කරුවන්ගේ මුළු වැටුප ගණනය කිරීම සඳහා විධියක් සාදන්න.

Задание 5

මෙම පන්තියේ සියලුම කම්කරුවන්ගේ සාමාන්‍ය වැටුප ගණනය කිරීම සඳහා විධියක් සාදන්න.