06/10/2018, 00:02

Lập trình hướng đối tượng trong PHP (Phần 1)

Kiến thức cơ bản về lập trình hướng đối tượng trong php

Chào các bạn! Hôm nay mình sẽ chia sẽ một số khái niệm căn bản trong lập trình hướng đối tượng

1. Lập trình hướng đối tượng là gì?

- Lập trình hướng đối tượng (gọi tắt là OOP - object-oriented programming) Là một kĩ thuật lập trình hỗ trợ công nghệ đối tượng.

 

Ví dụ đơn giản của lập trình hướng đối tượng.

class Personnel
{
    private $name = Ngô Thanh Điệp';
    private $age = 27;

    public function getPersonnel()
    {
        return $this->name . '-' . $this->age;
    }
}

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

- Dễ dàng quả lý code khi có sự thay đổi của chương trình.

- Dễ mở rộng dự án.

- Tiết kiệm được tài nguyên đáng kể cho hệ thống.

- Có tính bảo mật cao.

- Có tính tái sử dụng cao.

3. Lớp (class) dùng để khai báo một phàn hoặc toàn phần của một đối tượng. ( Nó thường được đặt tên là Danh từ )

Ví dụ khi khai báo một lớp

class Person
{
    //code
}

4. Thuộc tính.

- Thuộc tính ( properties) trong class có tác đụng như các biến và hàng trong ngôn ngữ lập trình hương thủ tục.

ví dụ 

class ConNguoi
{
    public $name;
    public $mat;
    public $mui;
    const sochan = 2;
}

5. Phương thức. 

-Phương thức trong trong class là các hành động hành vi của class đó. Và nó khá giống với hàm ở trong phương pháp lập trình hướng thủ tục. Cú pháp khai báo như sau:

class Name
{
    function methodName()
    {
        //code  
    }
}

6. Khởi tạo một lớp.

Cú pháp

new ClassName();

7. Truy xuất thuộc tính của class.

-Để truy xuất thuộc tính của một class chúng ta sẽ  chia làm 2 dạng là truy xuất trong class và truy xuất ngoài class.

*  Trong class:

-Để truy xuất các thuộc tính động trong class thì chúng ta dùng từ khóa this với cú pháp: $this->propertyName;

Ví dụ:

class ConNguoi
{
    var $name;
    var $mat;
    var $mui;
    const sochan = 2;

    function an()
    {
        //code
    }

    function noi($caunoi)
    {
        return $this->name = $caunoi;
    }

    function di()
    {
        //code
    }
}

-Còn nếu muốn truy xuất thông tin của thuộc tính cố định trong class chúng ta sẽ sử dụng một trong 2 cú pháp sau:

self::propertyName hoặc className::propertyName

* Truy xuất ngoài class:

-Để truy xuất thuộc tính khi đứng bên ngoài class thì chúng ta cũng chia làm 2 loại:

+ Đối với thuộc tính động chúng ta sẽ sử dụng từ cú pháp như sau:

$ newClass = new className ();
$ newClass-> propertyName;

 + Đối với thuộc tính cố định(constant) chúng ta sẽ sử dụng cú pháp sau:

className::propertyName;

Ví dụ

 

//khởi tạo lớp
$tai = new ConNguoi();
//gọi thuộc tính động
//gọi name
$tai->name;
//gọi mui
$tai->mui
//gọi thuộc tính cố định constant
ConNguoi::sochan;

8. Truy xuất phướng thức của class.

-Đối với class thì mình cũng chia làm 2 dạng con là truy xuất trong và truy xuất ngoài class.

-Để truy xuất các phương thức của class khi mà chúng ta vẫn đang ở trong class thì chúng ta sử dụng cú pháp sau:

$this->methodName();
//hoặc nếu có các argument
$this->methodName(argument);

Ví dụ: 

class ConNguoi
{
    var $name = 'aa';
    var $mat;
    var $mui;
    const sochan = 2;

    function an()
    {
        //code
    }

    function noi()
    {
        return $this->getSoChan();
    }

    function di()
    {
        //code
    }

    function getSoChan()
    {
        return self::sochan;
    }
}

* Truy xuất ngoài class.

-Đối với gọi phương thức khi đang ở bên ngoài class thì các bạn chỉ cần sử dụng cú pháp sau:

$newClass = new className();
$newClass->methodName;

Ví dụ

 

$connguoi = new ConNguoi();
$connguoi->noi();

Nguồn: Internet

Son Dong viết 13:29 ngày 08/10/2018

Hóng phần 2 

+2