Skip to main content

Bài 010 – Giới thiệu lập trình hướng đối tượng (OOP)

1. Lập trình theo cách truyền thống (lập trình thủ tục)

Lập trình thủ tục là cách viết chương trình bằng cách chia thành các hàm. Mỗi hàm làm một việc cụ thể. Khi muốn chương trình chạy, bạn gọi các hàm này theo thứ tự.

Ví dụ: nếu bạn muốn tìm số lớn nhất trong danh sách, bạn có thể viết hàm tim_max(). Khi cần, bạn chỉ cần gọi lại hàm này, không cần viết lại.

Cách làm này đơn giản, dễ hiểu, và rất phù hợp cho các chương trình nhỏ.

Tuy nhiên, nếu chương trình của bạn ngày càng lớn, ví dụ như phần mềm quản lý trường học (quản lý học sinh, giáo viên, khóa học...), thì bạn phải truyền đi rất nhiều dữ liệu giữa các hàm. Điều này làm chương trình trở nên khó đọc, rối rắm và khó sửa.


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

Lập trình hướng đối tượng là cách viết chương trình bằng cách mô phỏng thế giới thật bằng các đối tượng.

Mỗi đối tượng (object) là một thực thể cụ thể, ví dụ như một học sinh, một giáo viên, hay một môn học.

Trong OOP, bạn tạo ra lớp (class) để định nghĩa các đối tượng. Lớp chứa:

  • Dữ liệu của đối tượng (gọi là thuộc tính)
  • Hành động mà đối tượng có thể làm (gọi là phương thức)

Ví dụ:

Bạn có thể tạo một lớp SinhVien, lớp này có thể chứa:

  • Họ tên
  • Địa chỉ
  • Số điện thoại
  • Khóa học đang học
  • Giảng viên đang dạy

Và bạn cũng có thể thêm các hành động như:

  • dang_ky_mon(): đăng ký môn học
  • xem_diem(): xem điểm học tập

Khi bạn cần tạo một sinh viên mới, bạn chỉ cần tạo một đối tượng từ lớp đó, giống như sao chép khuôn mẫu ra.


3. So sánh nhanh giữa hai cách lập trình

So sánhLập trình thủ tụcLập trình hướng đối tượng (OOP)
Cách tổ chức chương trìnhDựa vào các hàmDựa vào các lớp và đối tượng
Dữ liệuDữ liệu truyền giữa các hàmDữ liệu nằm trong đối tượng
Quản lý chương trìnhDễ rối nếu chương trình lớnDễ quản lý hơn khi chương trình phức tạp
Tái sử dụngGọi lại hàmDùng lại lớp, kế thừa từ lớp cũ

4. Kết luận

  • Lập trình thủ tục phù hợp với các chương trình nhỏ, đơn giản.
  • Lập trình hướng đối tượng giúp dễ quản lý và phát triển các phần mềm lớn hơn.

Trong Python, bạn có thể dễ dàng áp dụng OOP bằng cách dùng class để tạo lớp và object để tạo đối tượng từ lớp đó.