Chat hỗ trợ
Chat ngay
Ngày đăng: 31/12/2021 | 270 lượt xem

OOP viết tắt của Object-Oriented Programming – Lập trình hướng đối tượng ra đời giải quyết các vấn đề mà lập trình truyền thống gặp phải. Lập trình hướng đối tượng không chỉ đơn giản là các cú pháp, câu lệnh mới mà còn là một cách tư duy mới khi giải quyết một vấn đề.

Trong lập trình hướng đối tượng OOP, có hai thuật ngữ rất quan trọng là lớp (class) và đối tượng (object). Class là định nghĩa chung cho một vật, để dễ tưởng tượng bạn có thể nghĩ đến class là một bản thiết kế trong khi đó đối tượng là một thực hiện cụ thể của bản thiết kế. Ví dụ, object là một ngôi nhà cụ thể thì class là bản thiết kế ngôi nhà đó.

Lập trình hướng đối tượng có 4 tính chất chính:

  • Tính trìu tượng (abstraction).
  • Tính kế thừa (inheritance).
  • Tính đóng gói (encapsulation).
  • Tính đa hình (polymorphism).

Các phương pháp lập trình truyền thống

  • Lập trình không có cấu trúc: Không kiểm soát được code, không sử dụng lại được đoạn code có chức năng giống nhau
  • Lập trình có cấu trúc: Code được phân chia thành các hàm, có thể sử dụng lại được các đoạn code có chức năng giống nhau
  • Lập trình hướng module: Chia thành các file riêng biệt có thể include sử dụng

Phương pháp lập trình hướng đối tượng ( OOP - Object oriented programming )

Là phương pháp lập trình sử dụng đối tượng để lập trình lên những chuỗi tương tác

Lập trình hướng đối tượng trong PHP được tái hiện bởi class, class chứa các hàm, các biến. Class được viết ra để sử dụng lại nhiều lần.

Ưu điểm của lập trình hướng đối tượng

  • Khả năng tái sử dụng cao
  • Ổn định và dễ bảo trì
  • Chi phí giảm dần
  • Tăng năng suất lập trình
  • Tăng chất lượng phần mềm
  • Tăng tính dễ hiểu của phần mềm
  • Vòng đời của phần mềm tăng

Cấu trúc

class className{

var $property;

}

Phương thức

class className{

                 function methorName($param){

                 }

}

Khởi tạo class

$a = new className();

$a->property;

$a->methor();

Tính kế thừa

Một class có thể kế thừa các phương thức và thuộc tính của class khác bằng cách sử dụng từ khóa extends

class A{

}

class B extends A{

}

Ví dụ về lập trình hướng đối tượng trong PHP

// Manager
class SieuNhan{
    public $ten;
    private $sucmanh;

    function setSucManh($n){
        if($n > 0){
            $this->sucmanh = $n;        
        }else{
            $this->sucmanh = 0;
        }
    }

    function getSucManh(){
        return $this->sucmanh;
    }
}

// Coder
$ironMan = new SieuNhan();
$ironMan->ten = 'Người Sắt';
$ironMan->setSucManh(86);

Tags: