Abstrakte metoder i tregjer i OOP i PHP
I tregjer kan noen metoder deklareres abstrakte. I dette tilfellet vil klassen som bruker denne tregjen, være forpliktet til å implementere en slik metode. Samtidig kan ikke abstrakte metoder i tregjen være private.
La oss se på et eksempel. La oss si at vi har en tregj som denne:
<?php
trait TestTrait
{
public function method1()
{
return 1;
}
abstract public function method2();
}
?>
La oss si at vår tregj brukes av klassen Test.
Tilstedeværelsen av en abstrakt metode i tregjen vil tvinge
programmereren til å implementere den i klassen, ellers
vil det oppstå en PHP-feil.
La oss lage klassen Test sammen med
metoden method2:
<?php
class Test
{
use TestTrait; // bruker tregjen
// Implementerer den abstrakte metoden:
public function method2()
{
return 2;
}
}
new Test;
?>
Kopier koden til min tregj TestTrait
og koden til klassen min Test. Fjern fra
klassen metoden method2. Forsikre deg om
at fraværet av dens implementering vil føre
til en PHP-feil.