Abstrakte metodes van eienskappe in OOP in PHP
In eienskappe kan sommige metodes as abstrak verklaar word. In hierdie geval moet die klas wat hierdie eienskap gebruik, so 'n metode implementeer. Terselfdertyd kan abstrakte metodes van 'n eienskap nie privaat wees nie.
Laat ons na 'n voorbeeld kyk. Gestel ons het die volgende eienskap:
<?php
trait TestTrait
{
public function method1()
{
return 1;
}
abstract public function method2();
}
?>
Gestel ons eienskap word deur die klas Test gebruik.
Die teenwoordigheid van 'n abstrakte metode in die eienskap sal die
programmeerder verplig om dit in die klas te implementeer, anders
sal daar 'n PHP-fout wees.
Laat ons die klas Test skep saam met
metode method2:
<?php
class Test
{
use TestTrait; // gebruik die eienskap
// Implementeer die abstrakte metode:
public function method2()
{
return 2;
}
}
new Test;
?>
Kopieer die kode van my eienskap TestTrait
en die kode van my klas Test. Verwyder uit
die klas die metode method2. Maak seker dat
die afwesigheid van sy implementering sal lei
tot 'n PHP-fout.