PHP mở rộng nhiều lớp
Bài đăng này đã hơn 18 tháng tuổi. Do công nghệ thay đổi quá nhanh nên nội dung này có thể lỗi thời (nhưng không phải lúc nào cũng vậy). Hãy nhớ xác minh bất kỳ thông tin kỹ thuật hoặc lập trình nào với bản phát hành hiện tại Show
Mọi lập trình viên PHP đều biết rằng bạn không thể mở rộng nhiều lớp với PHP. Bạn chỉ có thể làm một - đó là tốt. Trên thực tế, nếu bạn cần nhiều mã chia sẻ hơn, hãy đảm bảo tập trung vào việc sử dụng các đặc điểm thay thế Tuy nhiên, điều mà tôi không nhận ra cho đến gần đây là Giao diện PHP có thể mở rộng nhiều giao diện khác. (Tôi thừa nhận, tôi không phải là một lập trình viên dựa trên hợp đồng cho đến gần đây. ) Hãy để tôi chỉ cho bạn ý của tôi
Bây giờ, khi bạn có một đối tượng triển khai giao diện Thường thì bạn cần các lớp có các biến và chức năng tương tự với một lớp hiện có khác. Trên thực tế, nên xác định một lớp chung có thể được sử dụng trong tất cả các dự án của bạn và điều chỉnh lớp này cho phù hợp với nhu cầu của từng dự án cụ thể của bạn. Để tạo thuận lợi cho việc này, các lớp có thể là phần mở rộng của các lớp khác. Lớp mở rộng hoặc lớp dẫn xuất có tất cả các biến và chức năng của lớp cơ sở (cái này được gọi là 'kế thừa' mặc dù thực tế là không có ai chết) và những gì bạn thêm vào trong định nghĩa mở rộng. Không thể trừ khỏi một lớp, nghĩa là không thể xác định bất kỳ hàm hoặc biến hiện có nào. Một lớp mở rộng luôn phụ thuộc vào một lớp cơ sở duy nhất, nghĩa là không hỗ trợ đa kế thừa. Các lớp được mở rộng bằng cách sử dụng từ khóa 'extends'
Điều này định nghĩa một lớp Named_Cart có tất cả các biến và chức năng của Cart cùng với một biến bổ sung $owner và một hàm bổ sung set_owner(). Bạn tạo một giỏ hàng được đặt tên theo cách thông thường và bây giờ có thể đặt và nhận chủ sở hữu xe đẩy. Bạn vẫn có thể sử dụng các chức năng giỏ hàng bình thường trên các giỏ hàng được đặt tên
Đây còn được gọi là mối quan hệ "cha-con". Bạn tạo một lớp, cha và sử dụng phần mở rộng để tạo một lớp mới dựa trên lớp cha. lớp học trẻ em. Bạn thậm chí có thể sử dụng lớp con mới này và tạo một lớp khác dựa trên lớp con này
|