PHP'de OOP'de Sınıflarda Nesne Manipülasyonu
Sınıflar, metod parametreleri olarak diğer sınıfların nesnelerini alabilir ve bu nesneleri manipüle edebilir. Bir örnek üzerinden inceleyelim. Aşağıdaki sınıfa sahip olduğumuzu varsayalım:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Diyelim ki kullanıcı nesneleri koleksiyonunu manipüle edecek bir sınıf yapmaya karar verdik:
<?php
class UsersCollection {
}
?>
Kullanıcı nesnelerini özel bir özellikte dizi olarak saklayacağız:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Diziye yeni kullanıcı eklemek için bir metod yapalım:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Şimdi de tüm kullanıcıların isimlerini yazdıracak bir metod yapalım:
<?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>';
}
}
}
?>
Sınıfımızın çalışmasına bir göz atalım. Öncelikle onun bir nesnesini oluşturalım:
<?php
$uc = new UsersCollection();
?>
Şimdi koleksiyonumuza birkaç kullanıcı ekleyelim:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Şimdi de tüm kullanıcıların isimlerini yazdıracak metodu çağıralım:
<?php
$uc->show();
?>
Çalışanlar dizisini içerecek EmployeesCollection
sınıfını yapın.
Bu sınıfa yeni çalışan eklemek için bir metod yapın.
Bu sınıfa tüm çalışanları yazdıracak bir metod yapın.
Bu sınıfa tüm çalışanların toplam maaşını hesaplayacak bir metod yapın.
Bu sınıfa tüm çalışanların ortalama maaşını hesaplayacak bir metod yapın.