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:

TestTrait.php<?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:

Test.php<?php
  class Test
  {
    use TestTrait; // gebruik die eienskap
    
    // Implementeer die abstrakte metode:
    public function method2()
    {
      return 2;
    }
  }
  
  new Test;
?>
Задание 1

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.