Giới Thiệu Về Lập Trình Hướng Đối Tượng OOP Bằng PHP

0
4080
Các đặc tính của PHP
Các đặc tính của PHP

Lập trình hướng đối tượng ra đời nhằm mục đích tăng năng suất hoạt động và gỡ bỏ những phức tạp chồng chéo, giúp đơn giản quá trình quản lý, bảo mật và phát triển, đa số các ngôn ngữ lập trình hiện nay đều có hỗ trợ code OOP và một trong số những ngôn ngữ nổi bật là PHP, vậy thì lập trình hướng đối tượng bằng PHP như thế nào? Mời bạn tham khảo bài viết bên dưới.

I. Giới thiệu về PHP

Ngôn ngữ lập trình PHP (Personal Home Page) là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay với chức năng cốt lõi là một dạng ngôn ngữ thông dịch. Khi bạn sử dụng PHP để lập trình thì khi bạn code đến đâu màn hình giao diện sẽ hiển thị theo rất nhanh, gặp lỗi không nghiêm trọng thì bỏ qua lỗi/thông báo lỗi rồi chạy tiếp, gặp lỗi nghiêm trọng thì dừng lại tại đó. Khác với ngôn ngữ trong C++ và Java khi viết xong chúng cần được biên dịch lại mới có thể hoạt động. PHP còn là ngôn ngữ nguồn mở điều này giúp cho các bạn có thể dễ dàng sửa chữa trên đó. Chính điều này đã khiến cho nhiều lập trình viên ưu thích và sử dụng PHP nhiều hơn.

Giới thiệu về PHP
PHP là một ngôn ngữ thông dịch

Ưu điểm

  • PHP có bản chất là thông dịch nên việc lập trình sẽ trở nên dễ dàng hơn, nhanh gọn hơn. Các lập trình viên sẽ không phải mất quá nhiều thời gian để tạo ra các ứng dụng web như các ngôn ngữ khác.
  • PHP là ngôn ngữ nguồn mở nên những người sử dụng không tốn bất kỳ một khoản phí nào trong quá trình sử dụng. Chính điều này có thể thu hút được đông đảo người dùng đến với PHP
  • PHP có thể hoạt động trên mọi hệ điều hành.
  • PHP có thể nhúng vào các thẻ tập lệnh HTML.

Nhược điểm

  • Cấu trúc và giao diện không đẹp mắt như lập trình với C++, Java .
  • PHP chỉ hoạt động trên các ứng dụng web, nên nếu muốn cạnh tranh thì cần phải có thêm nhiều tiện ích mở rộng hơn nữa.

II. Trình bày lập trình hướng đối tượng OOP bằng PHP

 1. Giới thiệu về lập trình hướng đối tượng OOP bằng PHP

Lập trình hướng đối tượng OOP (Object-oriented programming) bắt nguồn từ khái niệm “công nghệ đối tượng”. Lập trình hướng đối tượng OOP mạnh hơn, tốc độ nhanh hơn, tiết kiệm thời gian hơn so với những cách lập trình thông thường trong PHP, điều này giúp cho các lập trình viên có thêm nhiều thời gian nghĩ đến các phần mềm ứng dụng cao hơn, tối ưu hơn. Đặc biệt hơn so với những lập trình khác trong PHP, lập trình hướng đối tượng OOP dễ dàng hơn, giảm thiểu được tính trùng lặp và không gây khó khăn cho các bạn trong quá trình quản lý.

Để hiểu được OOP và sử dụng nó một cách thành thạo nó các bạn cần phải nắm chắc các khái niệm: Lớp là gì? Đối tượng là gì? Thuộc tính như thế nào? Phương pháp hiểu như nào?

Lớp là một kịch bản có sẵn để tạo ra các đối tượng. Trong lớp đó người ta thường đưa các biến vào để mô tả thuộc tính của đối tượng. Ví dụ: Một lớp giống như bản thiết kế ngôi nhà, bạn có thể tạo ra nhiều ngôi nhà giống như ngôi nhà ban đầu trong bản kế hoạch đó.

Một đối tượng là tập con của một lớp. Trong một lớp có nhiều đối tượng tương tự nhau (giống nhau về kích thước về mẫu nhưng có thể khác nhau về màu sắc, trang trí,…)

Thuộc tính là những điểm để phân biệt đối tượng này với đối tượng khác trong cùng một lớp. Các thuộc tính là khác nhau.

Phương pháp là cách chúng ta thay đổi thuộc tính của đối tượng nhưng vẫn phải giữ nguyên được bản chất ban đầu của đối tượng. Ví dụ như ngôi nhà của chúng ta có thể được sơn màu xanh hoặc sơn màu đỏ nhưng hình dáng của nó vẫn phải là một ngôi nhà như ban đầu.

Mô tả Đối Tượng trong OOP
Mô tả Đối Tượng trong OOP

 

 2. Chức năng của lập trình hướng đối tượng OOP

Ngoài ra chúng ta cần phải nắm được chức năng của lập trình hướng đối tượng đó là việc xử lý các kiểu con của các kiểu dữ liệu.

  • Dữ liệu của mỗi một đối tượng, một cách bao quát, được thiết kế thỏa mãn các yêu cầu của dự án hoặc người lập trình (tức là các lớp).
  • Dữ liệu con là các kiểu dữ liệu bị giới hạn thêm nhiều điều kiện khác mặc dù chúng có cùng kiểu dữ liệu với loại không bị ràng buộc bởi các điều kiện đó.
Lớp và Đối Tượng trong PHP
Lớp và Đối Tượng trong PHP

Cả hai loại kiểu dữ liệu này đều dựa vào và đều được điều tiết bởi các hành xử (tức là các phương thức) đã được định nghĩa. Các điều kiện hay yêu cầu này có thể được khai báo rõ ràng hay được giả thiết công nhận ngầm bởi người lập trình. Các ngôn ngữ định hướng đối tượng cung cấp nhiều cơ chế cho việc khẳng định rằng các giả thiết đó có tính địa phương cho một phần của chương trình. Các cơ chế này này có thể đọc thấy trong các tài liệu về các chương trình định hướng đối tượng.

 3. Các đặc tính của lập trình hướng đối tượng OOP bằng ngôn ngữ lập trình PHP

Những đặc tính nổi bật mà nhắc đến lập trình hướng đối tượng OOP thì các nhà lập trình đều phải nắm vững trong lòng bàn tay.

Lập trình Hướng đối tượng bằng php Các đặc tính của PHP
Các đặc tính của PHP

a. Tính đóng gói (Encapsulation)

Tính đóng gói trong ngôn ngữ lập trình PHP được hiểu như là các thuộc tính trong một lớp và các phương pháp của đối tượng được gói lại cố định trong một phạm vi nào đó. Điều này giúp cho quá trình kiểm soát quyền truy cập trở nên dễ dàng hơn. Việc đóng gói những thuộc tính, phương pháp trong lập trình OOP phải nhờ đến các câu lệnh có chức từ khóa như: pubplic, private, protected.

  • Public là cho phép truy cập và thay đổi thuộc tính đối tượng và phương pháp trong tất cả phạm vi có thể.
  • Private là cho phép truy cập và thay đổi một thuộc tính đối tượng và phương pháp trong lớp, phạm vi truy cập và thay đổi của private nhỏ hơn pubplic.
  • Protected là chỉ được phép truy cập và thay đổi thuộc tính của đối tượng, phạm vi thay đổi của protected nhỏ hơn so với public và private.

b. Tính kế thừa (Inheritance)

Tính kế thừa trong lập trình hướng đối tượng OOP nghĩa là việc sử dụng các thuộc tính có sẵn từ lớp cơ sở. Các lớp mới hay còn được gọi là các lớp dẫn xuất có các thuộc tính tương tự như lớp cơ sở ban đầu. Mục đích của tính kế thừa là tái sử dụng lại các thuộc tính đối tượng sẵn có mà ít phải sửa chữa hoặc thậm chí là không cần sửa chữa.

Với ngôn ngữ lập trình PHP, việc kế thừa một đối tượng là hoàn toàn được cho phép. Nó được thực hiện thông qua các từ khóa như: extends. Đối tượng kế thừa sẽ có những thuộc tính và phương pháp tương tự như đối tượng được kế thừa.

c. Tính trừu tượng (abstraction)

Tính trừu tượng trong lập trình hướng đối tượng làm giảm sự phức tạp hóa, tập trung vào những cái quan trọng (ví dụ như: làm khung của một ngôi nhà) hơn là việc đi vào chi tiết hóa nội dung (chi tiết các phòng trong ngôi nhà).

Như vậy điều mà các bạn nên vận dụng ở tính trừu tượng để giảm bớt thời gian là chỉ cần quan tâm đến những thuộc tính, phương pháp cần thiết. Với những chi tiết nội dung các bạn có thể bỏ qua.

Để trừu tượng hóa các đối tượng và phương pháp cá bạn cần sử dụng các từ khóa: abstract class, interface

d. Tính đa hình (Polymorphism)

Tính đa hình được thể hiện qua việc đưa ra định nghĩa, phương pháp cho các thuộc tính đối tượng tương tự nhau. Với mỗi đối tượng thì các bạn sẽ nhận được kết quả khác nhau.

Đối với lập trình hướng đối tượng việc định nghĩa xây dựng các đối tượng tương tự đối tượng ban đầu là hoàn toàn được cho phép.

4. Gợi ý Sách Tham Khảo

Lập trình Hướng đối tượng bằng php
Lập Trình Hướng Đối Tượng – Trần Đan Thư

Lập trình hướng đối tượng, Trần Đan Thư, nhà xuất bản khoa học và kỹ thuật. Với bộ ba cuốn sách cơ bản của Trần Đan Thư các bạn sẽ được học những kiến thức về nhập môn lập trình, lập trình cơ bản, lập trình hướng đối tượng.

Bên trên là những giới thiệu cơ bản về kiến thức lập trình hướng đối tượng bằng PHP, đây là phương pháp lập trình đã phần nào đó giúp công nghệ ngày nay có thể phát triển mạnh và rộng rãi đến thế.