OOP là gì khi học ngôn ngữ lập trình nói chung và Java nói riêng ? Tìm hiểu 4 tính chất của lập trình hướng hướng đối tượng 2026

Nguyễn Lê Đình Tiên
3 tháng 9, 2026

OOP là gì? Tìm hiểu 4 trụ cột của OOP
1. OOP là gì?
OOP (Object-Oriented Programming) – Lập trình hướng đối tượng là cách tổ chức code thành các đối tượng (Object).
Mỗi đối tượng bao gồm:
Thuộc tính (Properties)
Hành vi (Methods)
Có thể hiểu đơn giản:
OOP là cách chia hệ thống thành các đối tượng, mỗi đối tượng có trách nhiệm riêng và tự quản lý dữ liệu của mình.
2. Các nguyên lý / trụ cột của OOP
OOP có 4 trụ cột chính:
Encapsulation – Đóng gói
Inheritance – Kế thừa
Polymorphism – Đa hình
Abstraction – Trừu tượng hóa
2.1. Encapsulation – Đóng gói
Encapsulation là việc đóng gói dữ liệu và kiểm soát quyền truy cập vào dữ liệu.
Một trong những cách thực hiện là quy định phạm vi truy cập thông qua:
publicprivate
Bản chất của Encapsulation
Bản chất của Encapsulation là:
Ẩn dữ liệu và kiểm soát cách dữ liệu được thay đổi.
Nói cách khác:
Không quan trọng dữ liệu là gì, quan trọng là ai được phép sửa dữ liệu đó.
Mục tiêu
Bảo vệ dữ liệu
Bảo vệ nghiệp vụ
Giảm bug
Giảm code trùng lặp
Dễ bảo trì
Khi thiết kế một class, nên luôn tự hỏi:
Class này đang bảo vệ dữ liệu hay chỉ đơn giản là dùng
private?
2.2. Inheritance – Kế thừa
Nhiều người mới học thường hiểu đơn giản:
Inheritance là dùng
extendsđể kế thừa một class khác.
Điều này đúng, nhưng chưa đủ.
Bản chất của Inheritance
Bản chất của Inheritance là:
Tái sử dụng những thuộc tính và hành vi chung giữa các đối tượng có mối quan hệ "IS-A".
Trong Java, Inheritance thường được thực hiện bằng từ khóa:
extendssuper
Mục đích
Tái sử dụng code
Giảm trùng lặp
Dễ bảo trì
Dễ mở rộng
Tăng tính nhất quán giữa các đối tượng
2.3. Polymorphism – Đa hình
Polymorphism là khả năng:
Cùng một giao diện (Interface) hoặc class cha nhưng có nhiều cách triển khai khác nhau.
Có thể hiểu đơn giản:
Một giao diện – nhiều cách triển khai.
Công cụ thường dùng
Interfaceimplementsextends@Override
Lợi ích
Linh hoạt khi mở rộng
Giảm
if/elseDễ bảo trì
Hỗ trợ Dependency Injection
2.4. Abstraction – Trừu tượng hóa
Abstraction là:
Che giấu sự phức tạp của hệ thống và chỉ cung cấp các chức năng cần thiết cho người sử dụng.
Công cụ thường dùng
InterfaceAbstract Class
Mục tiêu của Abstraction là ẩn đi những chi tiết không cần thiết, giúp người sử dụng chỉ cần quan tâm đến những chức năng mà hệ thống cung cấp.
3. Lợi ích khi áp dụng OOP
Có thể ghi nhớ 4 trụ cột của OOP một cách đơn giản:
Encapsulation
→ Bảo vệ dữ liệu
Inheritance
→ Tái sử dụng code
Polymorphism
→ Linh hoạt khi mở rộng
Abstraction
→ Ẩn sự phức tạp
4. Tổng kết
OOP là cách chia hệ thống thành các đối tượng (Class) mà mỗi đối tượng có trách nhiệm riêng và tự quản lý dữ liệu của mình.
Có thể tóm gọn:
Encapsulation = Bảo vệ dữ liệu
Inheritance = Tái sử dụng code
Polymorphism = Linh hoạt khi mở rộng
Abstraction = Ẩn sự phức tạp
Nắm vững 4 trụ cột này là nền tảng quan trọng để hiểu cách thiết kế và xây dựng các hệ thống sử dụng lập trình hướng đối tượng.


