Mở rộng một lớp PHP
Trên đời có rất nhiều thứ liên quan đến nhau bằng cách này hay cách khác. Trong Lập trình hướng đối tượng (còn được gọi là OOP), một trong những khái niệm cơ bản là các đối tượng cũng có thể liên quan đến nhau. Dưới đây là một ví dụ về các mặt hàng liên quan đến giao thông vận tải trong thế giới thực Show Cấu trúc thế giới thựcTransportation Cấu trúc lớp họcChúng ta có thể định nghĩa tất cả các mối quan hệ trong thế giới thực này bằng cách sử dụng các lớp, như thế này class transportation { các yếu tốHãy dành một phút và xem xét những gì anh ấy đã làm ở đây Lớp đầu tiên, vận chuyển, là công việc thực sự trong kịch bản này và chúng tôi sẽ gọi nó là lớp siêu hạng. Mỗi lớp có thể chứa các thuộc tính (biến) và phương thức (hàm) Lớp này định nghĩa 3 thuộc tính, thisClass, transpoType và fuelType. Nó cũng định nghĩa 5 phương thức, __construct, showResult, showClass, showTranspoType và showFuelType. Các thuộc tính và phương thức được gọi là thành viên Lưu ý các từ khóa công khai, được bảo vệ và riêng tư trước mỗi thành viên, những từ khóa này đặt khả năng hiển thị. Khả năng hiển thị xác định nơi thành viên có thể được sử dụng. Các thành viên công khai có thể được sử dụng bên ngoài cấu trúc lớp, các thành viên được bảo vệ chỉ có thể được sử dụng trong cấu trúc lớp và các thành viên riêng tư chỉ có thể được sử dụng trong lớp này Cấu trúc lớp là siêu lớp này và mọi lớp con (lớp con) mở rộng nó. Một từ khóa khác mà bạn sẽ chú ý ở đây là từ khóa cuối cùng, điều này xác định thành viên là không thể thay đổi bởi bất kỳ lớp con nào. Chúng tôi sẽ thảo luận về những gì mỗi phương pháp thực hiện sau trong bài viết này Lớp tiếp theo, mặt đất, mở rộng lớp vận chuyển. Bằng cách mở rộng lớp, nó kế thừa tất cả các thành viên của siêu lớp và có thể thay đổi những thành viên hiển thị với nó, thành viên công khai và được bảo vệ. Lớp này đang thay đổi giá trị của thuộc tính transpoType thành Ground Bỏ qua lớp xe đạp mở rộng lớp mặt đất. Vì mặt đất đã mở rộng phương tiện giao thông, nên lớp này cũng kế thừa tất cả các thành viên của lớp siêu hạng và có thể thay đổi những thành phần hiển thị với nó. Nó đang thay đổi thuộc tính transpoType thành Xe đạp và thuộc tính FuelType thành Manpower Khi bạn xem qua các lớp còn lại, bạn có thể thấy rằng chúng tôi đã tạo ra các mối quan hệ trong thế giới thực Hãy quay trở lại super class và xem xét các phương thức sẽ thực hiện công việc Phương pháp đầu tiên là __construct. Đây là một phương thức kỳ diệu được gọi bất cứ khi nào một lớp được khởi tạo. Vì không có lớp con nào gọi phương thức __construct, nên lớp này sẽ luôn là phương thức được gọi bất kể lớp nào được khởi tạo. Phương thức này đang định nghĩa thuộc tính thisClass với tên của lớp được khởi tạo Lưu ý biến giả $this, bất cứ khi nào một lớp được khởi tạo dưới dạng đối tượng, $this tham chiếu đến đối tượng hiện tại. Chúng ta sẽ xem xét chi tiết hơn về $this sau Phương thức tiếp theo là showResult và là phương thức công khai duy nhất chúng ta đã định nghĩa, có nghĩa là nó là phương thức duy nhất chúng ta có thể gọi từ bên ngoài cấu trúc lớp. Công việc của nó là xuất kết quả ra màn hình của chúng ta. Nó gọi các phương thức showClass, showTranspoType và showFuelType. Các phương thức này chỉ có một công việc và đó là trả về giá trị của các thuộc tính tương ứng của chúng Nó được sử dụng như thế nàoBạn có thể thắc mắc tại sao chúng tôi lại gặp khó khăn khi xây dựng cấu trúc lớp này. Câu trả lời là cách chúng ta có thể sử dụng nó. Tham khảo đoạn mã sau $bicycle = new bicycle(); Ở đây chúng tôi đã khởi tạo lớp xe đạp như một đối tượng mới mà chúng tôi đã đặt tên là $bicycle và sau đó gọi phương thức showResult. Đầu ra chúng ta sẽ nhận được là The current class is bicycle Như bạn có thể thấy, chúng tôi có các chi tiết liên quan đến một chiếc xe đạp. Bây giờ hãy chạy mã này $plane = new plane(); Đầu ra chúng ta sẽ nhận được là The current class is plane Bây giờ chúng tôi có các chi tiết liên quan đến một chiếc máy bay Nơi phép màu xảy raĐiều kỳ diệu thực sự đang diễn ra với việc sử dụng biến giả, $this. Như đã đề cập trước đó, $this sẽ luôn đề cập đến đối tượng mà nó thuộc về $bicycle là một đối tượng tham chiếu đến lớp xe đạp, mở rộng lớp mặt đất, mở rộng lớp vận chuyển. $plane là một đối tượng tham chiếu đến lớp máy bay, mở rộng lớp hàng không, mở rộng lớp vận chuyển Việc sử dụng $this trong siêu lớp đề cập đến đối tượng, không phải lớp chứa nó, vì vậy kết quả là các thuộc tính như được xác định bởi lớp được tham chiếu Khái niệm này là trung tâm của Mô hình đối tượng, một cấu trúc lớp được xác định rõ ràng có thể đại diện cho bất kỳ thứ gì chúng ta trải nghiệm trong thế giới thực Phần kết luậnSử dụng OOP trong ứng dụng PHP của bạn là một điều tốt nhưng một khi bạn nhận ra lý do tại sao, tất cả sẽ trở nên rõ ràng hơn và những gì bạn làm có ý nghĩa hơn nhiều. Bạn sẽ tự tin hơn rằng mình đang làm đúng khi bạn có thể thiết kế một mô hình đối tượng đáp ứng nhu cầu ứng dụng của bạn Đăng nhận xét tại đây nếu bạn có câu hỏi hoặc các loại nhận xét khác về phần giới thiệu đơn giản này để triển khai các mô hình đối tượng trong PHP Mở rộng một lớp trong PHP có nghĩa là gì?Từ khóa mở rộng được dùng để dẫn xuất một lớp từ một lớp khác . Cái này gọi là kế thừa. Một lớp dẫn xuất có tất cả các thuộc tính công khai và được bảo vệ của lớp mà nó được dẫn xuất từ.
Tôi có thể mở rộng 2 lớp trong PHP không?Các lớp, lớp trường hợp, đối tượng và đặc điểm tất cả chỉ có thể mở rộng không quá một lớp nhưng có thể mở rộng nhiều đặc điểm cùng một lúc.
Làm cách nào để gọi phương thức lớp mở rộng trong PHP?lớp một { var $b; . } }
Một giao diện có thể mở rộng một lớp PHP không?Các giao diện có thể được mở rộng giống như các lớp bằng cách sử dụng toán tử mở rộng . Ghi chú. Lớp triển khai giao diện phải khai báo tất cả các phương thức trong giao diện với chữ ký tương thích. Một lớp có thể triển khai nhiều giao diện khai báo một phương thức có cùng tên. |