Web Cơ Bản

Lập trình hướng đối tượng (OOP) trong PHP

- Kể từ phiên bản PHP5 trở về sau, các bạn có thể viết mã PHP dưới dạng “hướng đối tượng”.

- Việc lập trình hướng đối tượng sẽ có tốc độ nhanh hơn & dễ thực thi hơn.

OOP trong PHP là gì ?

- Trong PHP, khi nói đến OOP thì chúng ta hiểu đó chính là chữ viết tắt của cụm từ Object-Oriented Programming (lập trình hướng đối tượng)

- Lập trình theo kiểu truyền thống được gọi là “Lập trình thủ tục (Procedural programming)”. Với kiểu lập trình thủ tục thì chúng ta sẽ viết các thủ tục hoặc các hàm thực hiện các thao tác trên dữ liệu, còn đối với lập trình hướng đối tượng thì chúng ta sẽ tạo ra các đối tượng chứa cả dữ liệu và hàm.

- Việc lập trình theo kiểu hướng đối tượng sẽ có một số ưu điểm so với lập trình thủ tục, dưới đây là liệt kê những ưu điểm của lập trình hướng đối tượng:

  • Tốc độ nhanh, dễ thực thi hơn.
  • Việc viết mã PHP theo kiểu hướng đối tượng sẽ cung cấp cho bạn một cấu trúc rõ ràng, dễ nhìn, dễ hiểu.
  • Với cấu trúc rõ ràng sẽ giúp đơn giản hóa việc bảo trì, sửa đổi, gỡ lỗi.
  • Việc lập trình hướng đối tượng giúp bạn tạo ra những ứng dụng có thể tái sử dụng đầy đủ với ít mã hơn, thời gian phát triển ngắn hơn.

- Khi lập trình theo kiểu hướng đối tượng thì các bạn nên chú trọng nguyên tắc “không lặp lại chính mình”, điều đó có nghĩa là giảm thiểu việc lặp lại mã, đối với những mã phổ biến với ứng dụng thì các bạn nên đặt chúng ở một nơi duy nhất và sử dụng lại, thay vì phải viết lại.

Tìm hiểu sơ qua khái niệm Lớp (class) & Đối tượng (object)

- Lớp (class) & đối tượng (object) là hai khía cạnh chính trong lập trình hướng đối tượng.

- Lớp (class) là một khuôn mẫu cho các đối tượng, một đối tượng (object) là một thể hiện của một lớp.

- Khi các đối tượng được tạo thì chúng sẽ kế thừa tất cả thuộc tính & phương thức từ lớp, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính.

- Nhìn vào ví dụ minh họa bên dưới để thấy sự khác biệt giữa lớp & đối tượng.

Class Object
Mobile Nokia
Samsung
LG

- Một ví dụ khác:

Class Object
Laptop ASUS
DELL
HP

- Trong bài học này, tôi chỉ giới thiệu sơ qua khái niệm Class & Object, còn về chi tiết thì các bạn sẽ được tìm hiểu kỹ hơn trong các bài hướng dẫn tiếp theo.