Manipulasi Objek dalam Kelas di OOP PHP
Kelas dapat menerima objek dari kelas lain sebagai parameter metode dan memanipulasi objek-objek tersebut. Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Misalkan kita memutuskan untuk membuat kelas yang akan memanipulasi kumpulan objek pengguna:
<?php
class UsersCollection {
}
?>
Kita akan menyimpan objek pengguna dalam bentuk array di properti privat:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Mari buat metode untuk menambahkan pengguna baru ke dalam array:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Sekarang mari buat metode yang akan menampilkan nama semua pengguna:
<?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>';
}
}
}
?>
Mari kita lihat cara kerja kelas kita. Pertama, mari buat objeknya:
<?php
$uc = new UsersCollection();
?>
Sekarang tambahkan beberapa pengguna ke koleksi kita:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Sekarang panggil metode yang akan menampilkan nama semua pengguna:
<?php
$uc->show();
?>
Buatlah kelas EmployeesCollection,
yang akan berisi array karyawan.
Buat metode dalam kelas ini untuk menambahkan karyawan baru.
Buat metode dalam kelas ini untuk menampilkan semua karyawan.
Buat metode dalam kelas ini untuk menghitung total gaji semua karyawan.
Buat metode dalam kelas ini untuk menghitung rata-rata gaji semua karyawan.