PHP Classes/Objects

Giới thiệu về Lớp và Đối tượng trong PHP

Trong PHP, lập trình hướng đối tượng (OOP) là một mô hình lập trình dựa trên việc tạo ra các lớp (classes) và đối tượng (objects). Một lớp có thể được coi là một bản thiết kế (blueprint) cho các đối tượng, trong khi các đối tượng là các thực thể cụ thể được tạo ra từ lớp đó.

1. Khái niệm Lớp (Class)

Một lớp trong PHP được định nghĩa bằng cách sử dụng từ khóa class. Trong một lớp, bạn có thể định nghĩa các thuộc tính (properties) và phương thức (methods).

class Car {
    public $color;
    public $model;

    public function __construct($color, $model) {
        $this->color = $color;
        $this->model = $model;
    }

    public function message() {
        return "Chiếc xe là $this->color $this->model.";
    }
}

2. Tạo Đối tượng (Object)

Để tạo một đối tượng từ một lớp, bạn sử dụng từ khóa new. Dưới đây là cách tạo một đối tượng từ lớp Car đã định nghĩa ở trên:

$myCar = new Car("đỏ", "Toyota");
echo $myCar->message();

3. Thuộc tính và Phương thức

Các thuộc tính có thể được truy cập và thay đổi thông qua các phương thức. Bạn có thể sử dụng từ khóa public, protected, hoặc private để chỉ định độ truy cập cho các thuộc tính và phương thức.

4. Kế thừa (Inheritance)

Kế thừa cho phép một lớp mới (lớp con) kế thừa các thuộc tính và phương thức từ một lớp hiện có (lớp cha). Sử dụng từ khóa extends để thực hiện điều này.

class ElectricCar extends Car {
    public $battery;

    public function __construct($color, $model, $battery) {
        parent::__construct($color, $model);
        $this->battery = $battery;
    }

    public function message() {
        return parent::message() . " Nó có pin $this->battery kWh.";
    }
}

5. Đối tượng và Kế thừa

$myElectricCar = new ElectricCar("xanh", "Tesla", 100);
echo $myElectricCar->message();

6. Các tính năng khác của Lập trình Hướng Đối Tượng

Bên cạnh lớp và đối tượng, PHP còn hỗ trợ các khái niệm khác trong OOP như:

  • Đóng gói (Encapsulation): Giới hạn truy cập vào các thuộc tính và phương thức.
  • Đa hình (Polymorphism): Khả năng một phương thức có thể thực hiện nhiều phiên bản khác nhau (thường sử dụng trong kế thừa).
  • Trừu tượng (Abstraction): Tạo ra lớp trừu tượng không thể khởi tạo trực tiếp nhưng có thể được kế thừa.

Kết luận

OOP trong PHP cung cấp một cách tiếp cận mạnh mẽ để phát triển các ứng dụng phức tạp. Việc hiểu rõ về các khái niệm như lớp, đối tượng, kế thừa và đa hình sẽ giúp bạn xây dựng phần mềm chất lượng cao và dễ bảo trì hơn.