Gần đây tôi đã xem qua số Traits bằng PHP và cố gắng hiểu chúng. Trong nghiên cứu của tôi, tôi tình cờ gặp câu hỏi SO này: Traits vs. Interfaces. Câu trả lời được chấp nhận đề cập đến những điều sau:Sự khác biệt giữa Trait và Lớp Tóm tắt trong PHP
Giao diện xác định tập hợp các phương thức mà lớp triển khai phải thực hiện .
Khi một đặc điểm được sử dụng, việc triển khai các phương pháp cũng đi kèm theo số - điều này không xảy ra trong Giao diện.
Cho đến nay rất tốt nhưng điều này nghe có vẻ giống như sự khác biệt giữa giao diện và lớp trừu tượng với tôi. Vì vậy, điều này đặt ra một câu hỏi tiếp theo cho tôi:
- Sự khác biệt giữa một Trait và một lớp trừu tượng trong PHP là gì?
Tôi biết rằng tôi chỉ có thể mở rộng từ một lớp trừu tượng và mặt khác sử dụng bất kỳ số lượng đặc điểm nào. Nhưng đây thực sự là sự khác biệt duy nhất? Tôi vẫn chưa hoàn toàn hiểu được những đặc điểm và cách sử dụng của nó vì vậy tôi hy vọng đây không phải là một câu hỏi ngớ ngẩn.
có thể hữu ích: http://stackoverflow.com/a/20866390/3840840 –