Home » PHP OOP – Bài 1: Lập trình hướng đối tượng trong PHP là gì?

PHP OOP – Bài 1: Lập trình hướng đối tượng trong PHP là gì?

What are the object -oriented programming in PHP - PHP OOP

by Tan Nguyen
7 minutes read

Đây là bài viết mở đầu cho series học Lập trình PHP hướng đối tượng ( PHP OOP) của chúng ta và trong bài này chúng ta sẽ đi qua một số khái niệm về đối tượng và lập trình hướng đối tượng là gì, tìm hiểu về những ưu điểm của lập trình hướng đối tượng và một số khái niệm liên quan khác nằm trong chuyên đề này.

Vậy đối tượng ( object) là gì?

Theo Alan Key thì “Tất cả mọi thứ đều là đối tượng”. Mỗi phần tử trong thế giới thực xung quanh ta là một đối tượng, Ví dụ: Giáo viẻn A, Sinh viên B, Máy tính MX, chiếc xe Y,…

Trong lập trình hướng đối tượng, đối tượng được hiểu như là 1 thực thể: người, vật hoặc 1 bảng dữ liệu, . . .

Một đối tượng bao gồm 2 thông tin: thuộc tính và phương thức

  • Thuộc tính chính là những thông tin, đặc điểm của đối tượng. Ví dụ: một người sẽ có họ tên, ngày sinh, màu da, kiểu tóc, . . .
  • Phương thức là những thao tác, hành động mà đối tượng đó có thể thực hiện. Ví dụ: một người sẽ có thể thực hiện hành động nói, đi, ăn, uống, . . .

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

Lập trình hướng đối tượng (Object-oriented programming – OOP)  là kiểu viết code sử dụng lớp (classes), quan hệ (relationships), thuộc tính (properties) và phương thức (methods) của đối tượng (objects) nhằm giảm thời gian viết code và giúp đơn giản hóa việc lập trình.

OOP là kỹ thuật cho phép lập trình viên tạo ra các đối tượng trong code, từ đó trừu tượng hóa đối tượng thực tế trong cuộc sống. Hướng tiếp cận dựa trên lập trình đối tượng này là một trong những khuôn mẫu phát triển phần mềm, đặc biệt là phần mềm cho các doanh nghiệp.

lap trinh huong doi tuong oop php la gi

Đây là phương pháp lập trình hỗ trợ công nghệ đối tượng (OOP) giúp tăng năng xuất và đơn giản hóa công việc xây dựng phần mềm, bảo trì phần mềm, cho phép lập trình viên tập trung vào các đối tượng giống như trong thực tế.

Thực tế khi làm một việc gì đó, chúng ta sẽ quan tâm đến hai điều: vật bị tác động và hành động. Với lập trình cũng vậy, nếu chúng ta tập trung vào hành động thì đó là lập trình hướng thủ tục còn nếu tập trung vào các vật thể hay đối tượng nào đó được tác động thì đó là lập trình hướng đối tượng.

Ví dụ dưới đây sẽ mô tả về một ứng dụng lấy thông tin của học sinh theo 2 phương pháp lập trình hướng thủ tục và lập trình hướng đối tượng.

Phương pháp lập trình theo hướng thủ tục

<?php
function getPersonnel()
{
    $name = 'Nguyen Minh Man';
    $age = 18;
    $class = '12A1';
    return $name . '-' . $age . '-' . $class;
}
echo getPersonnel();

Phương pháp lập trình theo hướng đối tượng OOP

<?php
//tạo  class User
class User
{
    public  $name = "Nguyen Minh Man";
    private $age;
    protected $class;
    private $info;

    public function setUser($age, $class)
    {
        $this->age = $age;
        $this->class = $class;
        $this->getPersonnel();
    }
    protected function getPersonnel()
    {
        return $this->info = $this->name . ' is ' . $this->age . ' years old' . ' of ' . $this->class;
    }

    public function getInfo()
    {
        return $this->info;
    }
}
$user = new User(); //tạo một đối tượng mới từ class User

$user->setUser(18, '12A1');
echo $user->getInfo();
?>

Các bạn nhìn thấy mặc dù từ ví dụ trên ta thấy code theo phương pháp lập trình hướng đối tượng nó dài hơn, tuy nhiên, sau khi các bạn học kiến thức đầy đủ về phương pháp này bạn sẽ thấy công dụng của nó rất thuận lợi đối với một dự án lớn có các file được liên kết với nhau.

Ví dụ như khi muốn thay đổi giá trị nào đó thì bạn chỉ cần thay đổi trong một hàm thành phần nhất định, toàn bộ mã nguồn của bạn khi này có các file được quan hệ với nhau sẽ đồng loại thay đổi theo.

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

  • Dễ dàng quản lý code khi có sự thay đổi chương trình.  Thay vì việc thay đổi các mã nguồn của đối tượng mà giờ đây lập trình viên chỉ cần thay đổi một số hàm thành phần.
  • 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.
  • Phù hợp với thiệt lập cho những phần mềm phức tạp, phần mềm lớn.

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

Lập trình hướng đối tượng OOP có nhượng điểm là có thể khiến dữ liệu được xử lý tách rời, khi cấu trúc dữ liệu thay đổi sẽ dẫn đến việc thuật toán bị thay đổi theo.

Những tính chất của lập trình hướng đối tượng PHP OOP

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

  • Abstraction – Tính trừu tượng.
  • Inheritance – Tính kế thừa.
  • Encapsulation – Tính đóng gói.
  • Polymorphism – Tính đa hình.

Về các tính chất trên mình sẽ nói chi tiết sau và các bạn sẽ được học qua các bài tiếp theo của series này nhé!

Tham khảo:

Kết thúc

Qua bài học đầu tiên, mình đã giới thiệu cho các bạn khái niệm về lập trình hướng đối tương OOP và một số khái niệm khác cũng như những ưu và nhược điểm của nó. Mong các bạn sẽ phát triển hơn trong việc học tập của bản thân và tiếp tục đón những bài viết tiếp theo trong series học PHP nâng cao OOP – lập trình PHP hướng đối tượng nhé!

Xem thêm:

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ
5/5 - (3 votes)

Related Posts

5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

0
Would love your thoughts, please comment.x
()
x