PHP'de OOP'de Özel Metotlar
Sadece özellikler değil, metotlar da özel olabilir. Genellikle yardımcı metotlar, yani haricen yanlışlıkla çağrılamamaları için yapılan metotlar özel yapılır.
Bir örnek üzerinden inceleyelim. Aşağıdaki gibi bir sınıfımız olduğunu varsayalım:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Bu sınıfın içinde, parametre olarak bir dize alan ve ilk karakterini büyük harf yapan özel bir metot oluşturalım:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Yardımcı metodumuzu başka bir metodun içinde kullanalım:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->cape($this->name);
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Şimdi test edelim. Sınıfımızdan bir nesne oluşturalım:
<?php
$user = new User('john');
?>
Yardımcı metodu kullanan genel metodu çağıralım:
<?php
echo $user->show();
?>
Aşağıdaki kodda yardımcı metodu özel yapın:
<?php
class Employee {
public function __construct($name, $salary) {
$this->name = $name;
$this->salary = $salary;
}
public function getSalary() {
return $this->addSign($this->salary);
}
public function addSign($num) {
return $num . '
;
}
}
?>