PHP OOP-da obýekti döredenden soň metodu çagyrmak
Bizde Arr klassy bolsun, bu klass
sanlardan ybarat massiw saklaýar we getSum
metody arkaly bu sanlaryň jemini hasaplap biler.
Sanlar obýektiň konstruktoruna massiw görnüşinde berilýär,
şeýle-de add metodi arkaly birmeňzeş goşup bolýar:
<?php
class Arr
{
private $numbers = [];
public function __construct($numbers)
{
$this->numbers = $numbers;
}
public function add($number)
{
$this->numbers[] = $number;
}
public function getSum()
{
return array_sum($this->numbers);
}
}
?>
Arr klassynyň ulanylyşyna mysal:
<?php
$arr = new Arr([1, 2, 3]);
$arr->add(4);
$arr->add(5);
echo $arr->getSum(); // 15 çykarar
?>
Mümkin bolýar, gerek bolan sanlaryň hemmesini obýekt döredilýän wagtda bereris, soňra bolsa olaryň jemini derrew tapmak isleris:
<?php
$arr = new Arr([1, 2, 3]);
echo $arr->getSum(); // 6 çykarar
?>
Eger obýekt bilen başga hiç zat etmek niýetimiz
bolmasa, ýokardaky kody gysga ýazyp bolar: obýekti
döredip, derrew onuň getSum metodyny çagyryp bolar:
<?php
echo (new Arr([1, 2, 3]))->getSum(); // 6 çykarar
?>
<?php
class StringProcessor
{
private $str = '';
public function __construct($text)
{
$this->str = $text;
}
public function append($text)
{
$this->str .= $text;
return $this;
}
public function getValue()
{
return $this->str;
}
public function getLength()
{
return strlen($this->str);
}
}
?>
Bu klass bilen aşakdaky ýaly işlediler:
<?php
$str = new Str('aaa');
$str->append('bbb');
$str->append('ccc');
echo $str->getLength();
?>
Bu kody klasly ýerine çagyrmak arkaly ýazyp görüň.