Phương thức trừu tượng của trait trong OOP PHP
Trong trait, một số phương thức có thể được khai báo là trừu tượng. Trong trường hợp này, lớp sử dụng trait này sẽ bắt buộc phải triển khai phương thức như vậy. Các phương thức trừu tượng của trait không thể là private.
Hãy xem xét một ví dụ. Giả sử chúng ta có trait như sau:
<?php
trait TestTrait
{
public function method1()
{
return 1;
}
abstract public function method2();
}
?>
Giả sử trait của chúng ta được sử dụng bởi lớp Test.
Việc có một phương thức trừu tượng trong trait sẽ bắt buộc
lập trình viên phải triển khai nó trong lớp, nếu không
sẽ xảy ra lỗi PHP.
Hãy tạo lớp Test cùng với
phương thức method2:
<?php
class Test
{
use TestTrait; // sử dụng trait
// Triển khai phương thức trừu tượng:
public function method2()
{
return 2;
}
}
new Test;
?>
Hãy sao chép mã trait TestTrait của tôi
và mã lớp Test của tôi. Xóa khỏi
lớp phương thức method2. Hãy đảm bảo
rằng việc thiếu triển khai của nó sẽ dẫn
đến lỗi PHP.