Lập trình hướng đối tượng là một mô hình lập trình được tổ chức xung quanh Đối tượng hơn là các hành động và dữ liệu hơn là logic
Lớp
Một lớp là một thực thể xác định cách một đối tượng sẽ hành xử và đối tượng sẽ chứa những gì. Nói cách khác, đó là một kế hoạch chi tiết hoặc một bộ hướng dẫn để xây dựng một loại đối tượng cụ thể
Trong PHP, khai báo một lớp bằng từ khóa lớp, theo sau là tên của lớp và một bộ dấu ngoặc nhọn [{}]
Đây là bản thiết kế của công trình xây dựng mang tính đẳng cấp, những ngôi nhà và căn hộ được thực hiện bởi bản thiết kế này là những đối tượng
Cú pháp để tạo lớp trong PHP
Lưu ý quan trọng
Trong PHP, để xem nội dung của lớp, hãy sử dụng var_dump[]. Hàm var_dump[] được sử dụng để hiển thị thông tin có cấu trúc [loại và giá trị] về một hoặc nhiều biến
cú pháp
Sự vật
Một lớp định nghĩa một thể hiện riêng lẻ của cấu trúc dữ liệu. Chúng tôi định nghĩa một lớp một lần và sau đó tạo nhiều đối tượng thuộc về nó. Các đối tượng còn được gọi là một thể hiện
Hướng đối tượng là một cách tiếp cận để phát triển phần mềm, mô hình hóa ứng dụng xung quanh các đối tượng trong thế giới thực như nhân viên, ô tô, tài khoản ngân hàng, v.v. Một lớp định nghĩa các thuộc tính và phương thức của một đối tượng trong thế giới thực. Một đối tượng là một sự xuất hiện của một lớp
Ba thành phần cơ bản của hướng đối tượng là;
- Phân tích hướng đối tượng – chức năng của hệ thống
- Thiết kế hướng đối tượng – kiến trúc hệ thống
- Lập trình hướng đối tượng – triển khai ứng dụng
Nguyên tắc lập trình hướng đối tượng
Ba nguyên tắc chính của OOP là;
- Đóng gói - điều này liên quan đến việc ẩn các chi tiết triển khai và chỉ hiển thị các phương thức. Mục đích chính của việc đóng gói là;
- Giảm độ phức tạp của quá trình phát triển phần mềm – bằng cách ẩn các chi tiết triển khai và chỉ hiển thị các hoạt động, việc sử dụng một lớp trở nên dễ dàng
- Bảo vệ trạng thái bên trong của một đối tượng – truy cập vào các biến lớp thông qua các phương thức như get và set, điều này làm cho lớp linh hoạt và dễ bảo trì
- Việc triển khai nội bộ của lớp có thể được thay đổi mà không lo vi phạm mã sử dụng lớp
- Kế thừa - điều này liên quan đến mối quan hệ giữa các lớp. Mối quan hệ có dạng cha mẹ và con cái. Lớp con sử dụng các phương thức được định nghĩa trong lớp cha. Mục đích chính của thừa kế là;
- Khả năng tái sử dụng– một số con, có thể kế thừa từ cùng một cha mẹ. Điều này rất hữu ích khi chúng ta phải cung cấp các chức năng chung như thêm, cập nhật và xóa dữ liệu khỏi cơ sở dữ liệu
- Đa hình – điều này liên quan đến việc có một dạng duy nhất nhưng nhiều cách thực hiện khác nhau. Mục đích chính của đa hình là;
- Đơn giản hóa việc duy trì các ứng dụng và làm cho chúng dễ mở rộng hơn
Khái niệm OOP trong PHP
PHP là một ngôn ngữ kịch bản hướng đối tượng; . Các nguyên tắc trên đạt được thông qua;
- Đóng gói – thông qua việc sử dụng các phương thức “get” và “set”, v.v.
- Kế thừa - thông qua việc sử dụng từ khóa mở rộng
- Đa hình – thông qua việc sử dụng từ khóa thực hiện
Bây giờ chúng ta đã có kiến thức cơ bản về OOP và cách nó được hỗ trợ trong PHP, chúng ta hãy xem các ví dụ triển khai các nguyên tắc trên
UML là gì?
Ngôn ngữ mô hình hóa thống nhất UML là một kỹ thuật được sử dụng để thiết kế và lập tài liệu cho các hệ thống hướng đối tượng
UML tạo ra một số tài liệu, nhưng chúng ta sẽ xem sơ đồ lớp, thứ rất quan trọng đối với lập trình php hướng đối tượng
Ví dụ sơ đồ lớp
Khóa sơ đồ lớp
- Ô Upper chứa tên lớp
- Hộp giữa chứa các biến lớp
- Hộp bên dưới chứa các phương thức lớp
- Dấu trừ [-] có nghĩa là phạm vi riêng tư
- Dấu cộng [+] có nghĩa là phạm vi công khai
- Dấu thăng [#] có nghĩa là phạm vi được bảo vệ
Cách tạo một lớp trong PHP
Từ khóa class được sử dụng để định nghĩa một lớp trong PHP. Dưới đây là quy tắc tạo class trong PHP
- Tên lớp nên bắt đầu bằng một chữ cái
- Tên lớp không thể là một từ dành riêng PHP
- Tên lớp không được chứa khoảng trắng
Giả sử chúng ta muốn tạo một lớp đại diện cho động vật
Chúng tôi sẽ bắt đầu với việc xác định các đặc điểm chung cho tất cả các loài động vật
- Tất cả các loài động vật thuộc về một gia đình như động vật ăn cỏ, lễ hội hóa trang, v.v.
- Tất cả các loài động vật ăn thức ăn
Sơ đồ dưới đây cho thấy sơ đồ cho động vật
Bây giờ hãy viết mã lớp động vật của chúng ta
NƠI ĐÂY,
- “private $family, $food” có nghĩa là các biến không thể được truy cập trực tiếp bên ngoài lớp [Đóng gói]
- “public function __construct[$family…]” là phương thức khởi tạo của php. Hàm này được gọi bất cứ khi nào một thể hiện của lớp được tạo. Trong trường hợp này, chúng tôi đang thiết lập gia đình và thực phẩm
- “hàm công khai get…[]” là phương thức được sử dụng để truy cập giá trị gia đình hoặc thực phẩm [Đóng gói]
- “public function set…[]” là phương pháp được sử dụng để đặt giá trị gia đình hoặc thực phẩm [Đóng gói]
Cách triển khai Kế thừa trong PHP
Chúng tôi sẽ làm việc với một con bò và một con sư tử. Cả bò và sư tử đều kế thừa từ lớp Động vật
Sơ đồ lớp dưới đây cho thấy các mối quan hệ
Lưu ý rằng con bò kế thừa từ lớp động vật và cũng định nghĩa biến và phương thức của riêng nó
Bây giờ hãy viết code cho lớp Cow
Bây giờ hãy viết mã lớp Lion
NƠI ĐÂY,
- “lớp … mở rộng Động vật” làm cho bò và sư tử sử dụng các phương thức từ lớp Động vật [Kế thừa]
Cách tạo đối tượng của lớp
Tất cả các lớp Động vật, Bò và Sư tử nên ở trong cùng một thư mục vì mục đích đơn giản
Bây giờ hãy tạo ứng dụng sử dụng các lớp của chúng ta
Ví dụ lớp PHP
Kiểm tra ứng dụng của chúng tôi
Bây giờ hãy xem ứng dụng của chúng tôi trong trình duyệt web
.
quyền tuyệt vời. Bây giờ chúng ta hãy xem xét nguyên tắc thứ ba của OOP, tính đa hình
Giả sử chúng ta muốn phát triển một ứng dụng kết nối với các công cụ cơ sở dữ liệu khác nhau như MySQL và SQL Server nhưng sử dụng cùng một giao diện thống nhất
Chúng ta có thể tạo một giao diện xác định các phương thức tiêu chuẩn và một lớp trừu tượng thực hiện các phương thức phổ biến
- Giao diện – nó tương tự như một lớp. Nó chỉ định nghĩa các phương thức và tham số
- Lớp trừu tượng - đó là một lớp không thể được sử dụng để tạo một đối tượng trực tiếp. Mục đích của nó là cung cấp triển khai một phần hoặc toàn bộ các phương thức phổ biến
Sơ đồ lớp bên dưới minh họa mối quan hệ giữa các lớp trừu tượng, giao diện và lớp triển khai của chúng tôi
Bây giờ hãy tạo lớp trừu tượng của chúng ta
NƠI ĐÂY,
- "lớp trừu tượng" có nghĩa là lớp không thể được sử dụng trực tiếp để tạo đối tượng php
- “$host,$db…” là các biến lớp chung cho tất cả các triển khai
- “hàm __construct[…]” là phương thức khởi tạo của lớp php thiết lập các giá trị biến chung khi khởi tạo
Bây giờ, hãy tạo giao diện chứa các phương thức tiêu chuẩn sẽ được triển khai khác nhau tùy thuộc vào công cụ cơ sở dữ liệu
NƠI ĐÂY,
- “giao diện” là từ khóa để tạo giao diện
- “chức năng công cộng…[…]” là các phương pháp tiêu chuẩn nên được triển khai
Bây giờ chúng ta hãy tạo các lớp cụ thể sẽ mở rộng lớp DBCommonMethods và mở rộng giao diện DBInterface. Trình điều khiển MySQL. php