Abstraktās metožu īpašības (traits) OPHP PHP
Metožu īpašībās (traits) var deklarēt dažas metodes kā abstraktas. Šajā gadījumā klasei, kas izmanto šo metožu īpašību, būs jārealizē šāda metode. Turklāt abstraktās metožu īpašības (traits) metodes nevar būt privātas.
Apskatīsim piemēru. Pieņemsim, ka mums ir šāda metožu īpašība (trait):
<?php
trait TestTrait
{
public function method1()
{
return 1;
}
abstract public function method2();
}
?>
Pieņemsim, ka mūsu metožu īpašību izmanto klase Test.
Abstraktās metodes klātbūtne metožu īpašībā (trait) piespiedīs
programmētāju to realizēt klasē, pretējā gadījumā
tiks izvadīta PHP kļūda.
Izveidosim klasi Test kopā ar
metodi method2:
<?php
class Test
{
use TestTrait; // izmantojam metožu īpašību (trait)
// Realizējam abstrakto metodi:
public function method2()
{
return 2;
}
}
new Test;
?>
Nokopējiet mana metožu īpašības (trait) TestTrait kodu
un manas klases Test kodu. Noņemiet no
klases metodi method2. Pārliecinieties
par to, ka tās realizācijas trūkums novedīs
pie PHP kļūdas.