PHP OOP - Eienskappe
PHP - Wat is eienskappe?
PHP ondersteun slegs enkeloorerwing: 'n kinderklas kan slegs van een enkelouer erf.
So, wat as 'n klas veelvuldige gedrag moet erf? OOP-eienskappe los hierdie probleem op.
Eienskappe word gebruik om metodes te verklaar wat in verskeie klasse gebruik kan word. Eienskappe kan metodes en abstrakte metodes hê wat in verskeie klasse gebruik kan word, en die metodes kan enige toegangswysiger hê (publiek, privaat of beskerm).
Eienskappe word verklaar met die trait
sleutelwoord:
Sintaksis
<?php
trait TraitName {
// some code...
}
?>
Om 'n eienskap in 'n klas te gebruik, gebruik die
use
sleutelwoord:
Sintaksis
<?php
class MyClass {
use TraitName;
}
?>
Kom ons kyk na 'n voorbeeld:
Voorbeeld
<?php
trait message1 {
public function msg1() {
echo "OOP is fun! ";
}
}
class Welcome {
use
message1;
}
$obj = new Welcome();
$obj->msg1();
?>
Voorbeeld Verduidelik
Hier verklaar ons een eienskap: boodskap1. Dan skep ons 'n klas: Welkom. Die klas gebruik die eienskap, en al die metodes in die eienskap sal in die klas beskikbaar wees.
As ander klasse die msg1()-funksie moet gebruik, gebruik eenvoudig die message1-eienskap in daardie klasse. Dit verminder kodeduplisering, want dit is nie nodig om dieselfde metode oor en oor te herverklaar nie.
PHP - Gebruik veelvuldige eienskappe
Kom ons kyk na nog 'n voorbeeld:
Voorbeeld
<?php
trait message1 {
public function msg1() {
echo "OOP is fun! ";
}
}
trait message2 {
public function msg2()
{
echo "OOP reduces code duplication!";
}
}
class Welcome {
use message1;
}
class Welcome2 {
use message1, message2;
}
$obj = new Welcome();
$obj->msg1();
echo "<br>";
$obj2 =
new Welcome2();
$obj2->msg1();
$obj2->msg2();
?>
Voorbeeld Verduidelik
Hier verklaar ons twee eienskappe: boodskap1 en boodskap2. Dan skep ons twee klasse: Welkom en Welkom2. Die eerste klas (Welkom) gebruik die boodskap1-eienskap, en die tweede klas (Welkom2) gebruik beide boodskap1- en boodskap2-eienskappe (veelvuldige eienskappe word deur kommas geskei).