Để truy cập một phương thức tĩnh, hãy sử dụng tên lớp rồi đến hai dấu hai chấm [. . ] and method name as after
ClassName::staticMethod[];
Ví dụ sau minh họa phương thức tĩnh trong PHP
This is results
Hello World!
Ở đây, chúng tôi khai báo một phương thức tĩnh tên là
ClassName::staticMethod[];
8. Sau đó, chúng ta gọi phương thức tĩnh bằng cách sử dụng tên lớp rồi đến hai dấu hai chấm [. . ] và tên phương thức [không thể hiện của lớp]Một lớp có thể có cả phương thức tĩnh và không tĩnh. Một phương thức tĩnh có thể được truy cập từ một phương thức trong cùng một lớp bằng cách sử dụng từ khóa
ClassName::staticMethod[];
9 và hai dấu hai chấm [. . ] as afterThis is results
Hello World!
Các phương thức tĩnh cũng có thể được gọi từ các phương thức trong các lớp khác nhau. Để làm điều này, phương thức tĩnh phải là
0Để gọi một phương thức tĩnh từ một lớp con, hãy sử dụng từ khóa
1 bên trong lớp con. Ở đây, phương thức tĩnh có thể 0 hoặc 32This is results
3Các thuộc tính tĩnh có thể được gọi trực tiếp - mà không cần thiết phải tạo ra một lớp có thể hiện
Thuộc tính tĩnh được khai báo với từ khóa
ClassName::staticMethod[];
7 như sauĐể truy cập một thuộc tính tĩnh, hãy sử dụng tên lớp rồi đến hai dấu hai chấm [. . ] and property name as after
ClassName::staticMethod[];
0Hãy xem xét một ví dụ
This is results
ClassName::staticMethod[];
2Ở đây, chúng tôi tuyên bố một thuộc tính tĩnh là
5. Sau đó chúng tôi xuất giá trị của thuộc tính tĩnh bằng cách sử dụng tên lớp rồi đến hai dấu hai chấm [. . ] và thuộc tính tên [không khởi động được đối tượng của lớp]Một lớp có thể có cả thuộc tính tĩnh và không tĩnh. Một thuộc tính tĩnh có thể được truy cập từ một phương thức trong cùng một lớp bằng cách sử dụng từ khóa
ClassName::staticMethod[];
9 và hai dấu hai chấm [. . ] as after Lập trình hướng đối tượng [gọi tắt là
Hello World!
10 - lập trình hướng đối tượng] là một kỹ thuật lập trình hỗ trợ công nghệ đối tượng. If as before kia là các kiểu thiết lập hướng thủ tục, mô-đun hướng,. thì giờ đây thế giới đang ưu tiên sử dụng hướng đối tượng. Nếu như trước đây chúng ta lập trình với hướng thủ tục thì chúng ta sẽ chia thành các hàm để xử lý, thì giờ đây khi sử dụng các đối tượng hướng thì chúng ta sẽ chia ra các đối tượng để xử lý.Bài viết dưới đây sẽ tập trung giải đáp các vấn đề sau
- Các đặc điểm cơ bản của hướng đối tượng lập trình. We could show as any THẾ GIỚI TRONG PHP
- Sự khác biệt giữa Lớp trừu tượng và Giao diện
- The any is a static function. Phân biệt cách sử dụng từ khoá tĩnh. method[] with self. phương pháp[]
- The any is Trait
- The any is Namespaces
1. Các đặc điểm cơ bản của hướng đối tượng lập trình. We could show as any THẾ GIỚI TRONG PHP
Lập trình hướng đối tượng [
Hello World!
10] có 4 đặc trưng cơ bản- Tính đóng gói [Encapsulation]
- Tính kế thừa [Inheritance]
- Tính đa hình [Polymorphism]
- Tính năng hiển thị đối tượng [Trừu tượng]
Tính đóng gói. Tính năng đóng gói có thể hiện thông qua các thuộc tính, phương thức được che giấu trong một lớp [
Hello World!
12], Mục đích kiểm tra giám sát quyền sử dụng, truy cập các thuộc tính, phương thứcTính đóng gói trong PHP có thể hiện thông qua việc sử dụng các từ khóa
Hello World!
13, Hello World!
14, Hello World!
15
13. Cho phép sử dụng các thuộc tính và phương thức củaHello World!
12 ở phạm vi trong, ngoàiHello World!
12, cácHello World!
12 con kế thừa từ đó đều có thể linh hoạt sử dụng lạiHello World!
14. Chỉ cho phép sử dụng trong phạm viHello World!
12 đóHello World!
15. Cho phép sử dụng ở phạm vi trongHello World!
12 cha và cácHello World!
12 kế thừa từHello World!
12 chaHello World!
Kế thừa kế thừa. are could show through work of
Hello World!
12 con kế thừa lại các phương thức, thuộc tính của Hello World!
12 chaClassName::staticMethod[];
9Tính năng hiển thị đối tượng. trong lập trình hướng các đối tượng giúp giảm bớt sự phức tạp thông qua tập trung vào các điểm đặc biệt quan trọng hơn là đi sâu vào chi tiết. Như vậy khi tương tác với các đối tượng chỉ cần quan tâm đến các thuộc tính, phương thức cần thiết. Chi tiết về nội dung không cần chú ý đến
PHP has
ClassName::staticMethod[];
08 and ClassName::staticMethod[];
09 to get object hóa các đối tượngClassName::staticMethod[];
2Tính đa hình. could show through work of
Hello World!
12 con could write back the methods from Hello World!
12 cha, information through the ClassName::staticMethod[];
52 and ClassName::staticMethod[];
53Hello World!
12. Sự khác biệt giữa Lớp trừu tượng và Giao diện
Ở phần 1, chúng ta có nhắc tới 2 khái niệm
ClassName::staticMethod[];
08 và ClassName::staticMethod[];
09. ClassName::staticMethod[];
56và ClassName::staticMethod[];
57là 2 khái niệm cơ bản trong lập trình OOP. Nhưng phân lớn mọi người cảm thấy mơ hồ và lộn xộn 2 khái niệm nàyClassName::staticMethod[];
57. là một Hello World!
12 đối tượng cho tất cả các lớp có cùng bản chất. Do đó, mỗi lớp dẫn đầu ra [lớp con] chỉ có thể kế thừa từ một lớp vật thể. Bên cạnh đó nó không cho phép tạo 40, nghĩa là sẽ không thể tạo ra các đối tượng thuộc lớp đóClassName::staticMethod[];
0ClassName::staticMethod[];
56. Lớp này được xem như một loại mặt nạ cho tất cả các Lớp cùng cách thức hoạt động nhưng có thể khác nhau về bản chất. Từ đó Lớp dẫn xuất có thể kế thừa từ nhiều lớp ClassName::staticMethod[];
56 để bổ sung đầy đủ cách thức hoạt động của mình [đa kế thừa - Đa kế thừa]ClassName::staticMethod[];
53. The any is a static function. Phân biệt cách sử dụng từ khoá tĩnh. method[] with self. phương pháp[]
Thế nào là một hàm tĩnh?. Hàm
43 là hàm có thể được gọi mà không cần một đối tượng củaHello World!
12 đó. 45 nó hoạt động như một biến toàn cục cho dù nó có được xử lý ở bất kỳ tệp nào đi nữa [trong cùng một chương trình] thì nó đều lưu lại giá trị xử lý cuối cùng mà nó được thực hiện trong lớp4Việc thực thi hàm tĩnh trong lớp có thể được thực hiện bằng lệnh.
46, 47 hoặc 48, trong đó 49 và 43 là đại diện của12, cònHello World!
92 là đại diện củaHello World!
93. Trong phương thức 43 không thể gọi phương thức hoặc thuộc tínhHello World!
95. Nhưng phương thứcHello World!
95 có thể gọi phương thức hoặc thuộc tính 43. Bởi vì có thể hiểu đơn giản như sauHello World!
- Phương thức 43 có thể gọi ngay cả khi chưa khởi tạo
93, làm điều đó nếu phương thức 43 gọi đến một phương thứcHello World!
95thì khi chưa khởi tạoHello World!
93, sẽ không có biếnHello World!
92 [là đại diện củaHello World!
93] để gọi đến phương thứcHello World!
95Hello World!
- Đương nhiên phương thức
95 luôn luôn có thể gọi đến phương thức 43 vì phương thức 43 đã tồn tại ngay từ khi chạy chương trình, khiHello World!
93 chưa được khởi độngHello World!
Phân biệt cách sử dụng khóa từ
70 với 71- 43. đại diện cho đối tượng chính đang gọi đến phương pháp thực tế
- 49. đại diện cho đối tượng chính khai báo nó
Hello World!
94. The any is Trait
74 hiểu đơn giản là một nhóm các phương thức mà bạn muốn đưa nó vào một lớp khác. Một 75 giống vớiClassName::staticMethod[];
08không thể khởi động trên chính nó. ________ 875 giảm hạn chế của công việc ________ 878, cho phép chúng ta sử dụng lại một nhóm các phương thức trên Hello World!
12Một
75 đơn giản có thể là9Chúng ta có thể sử dụng nó trong các
Hello World!
12 khác nhau như sau7Như vậy, khi bạn khởi tạo các đối tượng từ lớp
022, 023, các đối tượng đó sẽ có sẵn phương thức 024Chúng ta có thể sử dụng nhiều
75 trong 1Hello World!
125. The any is Namespaces
Không gian tên giúp tạo ra một không gian tên cho hàm và lớp trong lập trình nói chung và trong PHP nói riêng. Với PHP,
027 được thiết kế để giải quyết hai vấn đề là tác giả của thư viện và các ứng dụng khi tái sử dụng lại các lớp và hàm- Không gian tên tránh việc tên hàm, tên lớp có thể trùng lặp, xung đột khi bạn tạo ra với các hàm, lớp, biến của PHP hoặc của bên thứ ba
- Không gian tên có khả năng tạo ra bí danh, rút ngắn cách đặt tên làm mã nguồn dễ đọc hơn
PHP
027 cung cấp cách thức cho các nhómHello World!
12, ClassName::staticMethod[];
09, ClassName::staticMethod[];
201, ClassName::staticMethod[];
202 liên quanKết luận
Qua bài viết, hy vọng các bạn đã hiểu được cơ bản về hướng đối tượng và khả năng thể hiện nó trong PHP, một vài khái niệm được sử dụng rộng rãi