Lập trình hướng đối tượng, hay OOP, là một cách tổ chức mã nguồn xoay quanh đối tượng. Một đối tượng giữ dữ liệu liên quan và các phương thức xử lý dữ liệu đó cùng với nhau, nhờ vậy chương trình có thể mô hình hóa những thứ như tài khoản ngân hàng, giỏ hàng hoặc nhân vật trong game một cách trực tiếp hơn.
Ở trung tâm của OOP có hai khái niệm: lớp và đối tượng. Lớp mô tả một thứ nên chứa gì và có thể làm gì. Đối tượng là một thể hiện cụ thể được tạo ra từ lớp đó.
Lập trình hướng đối tượng có nghĩa là gì
Hãy xem lớp như một bản thiết kế, còn đối tượng là một thứ thật được tạo từ bản thiết kế đó. Một lớp BankAccount có thể định nghĩa số dư cùng với các phương thức như deposit và withdraw. Tài khoản của Alice và tài khoản của Bob sẽ là hai đối tượng riêng biệt, cùng tuân theo một bộ quy tắc nhưng giữ các số dư khác nhau.
Đó là lý do người ta nói OOP gói trạng thái và hành vi lại với nhau. Trạng thái là dữ liệu mà một đối tượng lưu trữ. Hành vi là những thao tác mà đối tượng cho phép thực hiện.
Vì sao OOP có thể giúp mã dễ theo dõi hơn
OOP hữu ích khi một chương trình có các thực thể rõ ràng với những quy tắc riêng. Nếu số dư thuộc về tài khoản, thì đoạn mã thay đổi số dư thường cũng nên nằm ở đó. Điều này giúp bạn dễ thấy trách nhiệm thuộc về đâu.
Điều đó không có nghĩa là mọi chương trình đều nên dùng lớp ở khắp nơi. OOP hữu ích khi việc nhóm trạng thái và hành vi làm cho thiết kế rõ ràng hơn. Nếu bài toán chủ yếu là xử lý dữ liệu đơn giản, các hàm thuần có thể dễ đọc hơn.
Ví dụ OOP với lớp BankAccount
Dưới đây là một ví dụ nhỏ cho thấy ý tưởng cốt lõi:
Cần trợ giúp giải bài?
Tải câu hỏi lên và nhận lời giải từng bước đã được xác minh trong vài giây.
Mở GPAI Solver →