Hướng dẫn traits in php javatpoint - đặc điểm trong php javatpoint
PHP - Đặc điểm là gì?PHP chỉ hỗ trợ thừa kế đơn: Một lớp con chỉ có thể thừa hưởng từ một cha mẹ đơn lẻ. Show
Vì vậy, nếu một lớp cần thừa hưởng nhiều hành vi? Đặc điểm OOP giải quyết vấn đề này. Đặc điểm được sử dụng để khai báo các phương thức có thể được sử dụng trong nhiều lớp. Các đặc điểm có thể có các phương thức và phương thức trừu tượng có thể được sử dụng trong nhiều lớp và các phương thức có thể có bất kỳ công cụ sửa đổi truy cập nào (công khai, riêng tư hoặc được bảo vệ). Đặc điểm được khai báo với từ khóa Cú pháp trait TraitName { Để sử dụng một đặc điểm trong một lớp, hãy sử dụng từ khóa Cú phápclass MyClass { Để sử dụng một đặc điểm trong một lớp, hãy sử dụng từ khóa Hãy xem xét một ví dụ:Thí dụ class
Welcome { lớp chào mừng {& nbsp; sử dụng message1;} $ obj = new Welcome (); $ obj-> msg1 ();?> Hãy tự mình thử »Ví dụ giải thích Ở đây, chúng tôi tuyên bố một đặc điểm: message1. Sau đó, chúng tôi tạo ra một lớp học: Chào mừng. Lớp học sử dụng đặc điểm và tất cả các phương thức trong tính trạng sẽ có sẵn trong lớp. Nếu các lớp khác cần sử dụng hàm msg1 (), chỉ cần sử dụng đặc điểm Message1 trong các lớp đó. Điều này làm giảm sự trùng lặp mã, bởi vì không cần phải điều chỉnh lại phương thức tương tự nhiều lần.PHP - Sử dụng nhiều đặc điểm Hãy xem xét một ví dụ:Thí dụ trait message2 { class Welcome { lớp chào mừng {& nbsp; sử dụng message1;} $ obj = new Welcome (); $ obj-> msg1 ();?> Hãy tự mình thử » $ obj = new Welcome (); $ obj-> msg1 ();?> Hãy tự mình thử »Ví dụ giải thích 9 năm trước Chris Dot Rutledge tại Gmail Dot Com ¶ Qeremy (!) Gmail ¶ 7 năm trước
ezcReflectionMethod extends ReflectionMethod { T8 tại At Pobox Dot Com ¶RAWSRC ¶ 4 năm trước Canufrank ¶
SayWorld { Ví dụ trên sẽ xuất ra: Ví dụ #3 Ví dụ về thứ tự ưu tiên thay thế
use 0Ví dụ trên sẽ xuất ra: Nhiều đặc điểm Nhiều đặc điểm có thể được chèn vào một lớp bằng cách liệt kê chúng trong câu lệnh Ví dụ #4 Cách sử dụng nhiều đặc điểm
use 4Ví dụ trên sẽ xuất ra: Giải quyết xung độtNếu hai đặc điểm chèn một phương thức có cùng tên, một lỗi gây tử vong được tạo ra, nếu xung đột không được giải quyết rõ ràng. Để giải quyết xung đột đặt tên giữa các đặc điểm được sử dụng trong cùng một lớp, toán tử Vì điều này chỉ cho phép người ta loại trừ các phương thức, toán tử Ví dụ #5 Giải quyết xung đột Trong ví dụ này, người nói chuyện sử dụng các đặc điểm A và B. Vì A và B có các phương pháp mâu thuẫn, nó xác định để sử dụng biến thể của SmallTalk từ Đặc điểm B và biến thể của BigTalk từ Đặc điểm A. Bí danh_Talker sử dụng toán tử
trait ezcReflectionReturnInfo { 2Thay đổi khả năng hiển thị phương pháp Sử dụng cú pháp Ví dụ #6 Thay đổi khả năng hiển thị phương pháp
Những đặc điểm sáng tác từ các đặc điểmGiống như các lớp có thể sử dụng các đặc điểm, các đặc điểm khác cũng vậy. Bằng cách sử dụng một hoặc nhiều đặc điểm trong một định nghĩa đặc điểm, nó có thể được cấu tạo một phần hoặc hoàn toàn các thành viên được xác định trong các đặc điểm khác. Ví dụ #7 Đặc điểm sáng tác từ các đặc điểm
trait ezcReflectionReturnInfo { 7Ví dụ trên sẽ xuất ra: Các thành viên tính trạng trừu tượngCác đặc điểm hỗ trợ việc sử dụng các phương pháp trừu tượng để áp đặt các yêu cầu đối với lớp triển lãm. Các phương pháp công khai, được bảo vệ và riêng tư được hỗ trợ. Trước PHP 8.0.0, chỉ các phương pháp trừu tượng được công khai và được bảo vệ được hỗ trợ. Thận trọng Một lớp cụ thể đáp ứng yêu cầu này bằng cách xác định phương pháp cụ thể có cùng tên; Chữ ký của nó có thể khác nhau. Ví dụ #8 Yêu cầu rõ ràng bằng các phương thức trừu tượng
class 0Thành viên đặc điểm tĩnhĐặc điểm có thể xác định các biến tĩnh, phương thức tĩnh và tính chất tĩnh.
Ví dụ #9 biến tĩnh
class 3Ví dụ #10 Phương pháp tĩnh
class 6Ví dụ #11 thuộc tính tĩnh
class 9Đặc tínhĐặc điểm cũng có thể xác định các thuộc tính. Ví dụ #12 Thuộc tính xác định class
ezcReflectionMethod extends ReflectionMethod { 2Nếu một đặc điểm xác định một thuộc tính thì một lớp không thể xác định thuộc tính có cùng tên trừ khi nó tương thích (cùng một tầm nhìn và giá trị ban đầu), nếu không một lỗi gây tử vong được phát hành. Ví dụ #13 Giải quyết xung đột class
ezcReflectionMethod extends ReflectionMethod { 5Safak Ozpinar / Safakozpinar tại Gmail ¶ ¶ 10 năm trước class class ezcReflectionMethod extends ReflectionMethod { 8Greywire tại Gmail Dot Com ¶ ¶ 10 năm trước class
ezcReflectionMethod extends ReflectionMethod { 8Greywire tại Gmail Dot Com ¶ ¶ Stefan W ¶
ezcReflectionMethod extends ReflectionMethod { 89 năm trước ¶ 10 năm trước
trait 0Greywire tại Gmail Dot Com ¶ ¶ Stefan W ¶
trait 49 năm trước ¶ 10 năm trước
trait 9Greywire tại Gmail Dot Com ¶ ¶ Stefan W ¶ class
SayWorld { 29 năm trước ¶ Chris Dot Rutledge tại Gmail Dot Com ¶ class class class class ezcReflectionMethod extends ReflectionMethod { 8Qeremy (!) Gmail ¶ ¶ Chris Dot Rutledge tại Gmail Dot Com ¶ class class ezcReflectionMethod extends ReflectionMethod { 8Qeremy (!) Gmail ¶ ¶ Chris Dot Rutledge tại Gmail Dot Com ¶
trait HelloWorld { 5Qeremy (!) Gmail ¶ ¶ 7 năm trước
trait HelloWorld { 9T8 tại At Pobox Dot Com ¶ ¶ 10 năm trước
ezcReflectionMethod extends ReflectionMethod { 8Greywire tại Gmail Dot Com ¶ ¶ 10 năm trước
class 6Greywire tại Gmail Dot Com ¶ ¶ 7 năm trước
ezcReflectionMethod extends ReflectionMethod { 8T8 tại At Pobox Dot Com ¶ ¶ RAWSRC ¶
use 034 năm trước ¶ Stefan W ¶
use 089 năm trước ¶ Stefan W ¶
use 139 năm trước ¶ Chris Dot Rutledge tại Gmail Dot Com ¶
use 18Qeremy (!) Gmail ¶ ¶ 7 năm trước
use 22T8 tại At Pobox Dot Com ¶ ¶ 6 năm trước
ezcReflectionMethod extends ReflectionMethod { 8Kỳ lạ ¶ ¶ 9 năm trước
Bscheshirwork tại Gmail Dot Com ¶ ¶ 4 năm trước
ezcReflectionMethod extends ReflectionMethod { 884TD84 tại gmail dot com ¶ ¶ 7 năm trước
ezcReflectionMethod extends ReflectionMethod { 8 |