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

4:19 23/04/2024

OOP là gì? 4 tính chất của OOP trong lập trình hướng đối tượng bao gồm những gì? Hãy cùng theo dõi bài viết này để tìm câu trả lời nhé!

OOP là gì?

OOP (viết tắt của Object Oriented Programming) – lập trình hướng đối tượng  đó là một phương pháp lập trình dựa trên khái niệm về lớp và đối tượng. OOP tập trung vào các đối tượng thao tác hơn là logic để thao tác chúng, giúp code dễ quản lý, dễ bảo trì, và tái sử dụng khi cần thiết.

Đối tượng(Object), lớp(Class) trong OOP

Khái niệm về đối tượng(Object)

Đối tượng trong OOP là:

  • Biểu diễn đối tượng trong thế giới thực
  • Mỗi đối tượng được đặc trưng bởi các thuộc tính và các hành vi riêng của nó
Ví dụ về các đối tượng (Object)

Đối tượng trong OOP bao gồm 2 thành phần chính:

  • Thuộc tính (Attribute): là những thông tin, đặc điểm của đối tượng
  • Phương thức (Method): là những hành vi mà đối tượng có thể thực hiện

Ví dụ: Đối tượng Ô tô có:

  • Thuộc tính/đặc điểm (Attribute): 
    • Hãng sản xuất
    • Model
    • Năm sản xuất
    • Màu sắc
  • Phương thức/hành vi(Method)- ô tô có thể làm gì: 
    • Khởi động
    • Dừng
    • Phanh
    • Bật cần gạt nước

Khái niệm Lớp (Class) :

Lớp là sự trừu tượng hóa của đối tượng. Những đối tượng có những đặc tính tương tự nhau sẽ được tập hợp thành một lớp. Lớp cũng sẽ bao gồm 2 thông tin là thuộc tính(Attribute) và phương thức(Method). Một đối tượng sẽ được xem là một thực thể của lớp.

Ví dụ:

  • Các đối tượng Ô tô có những đặc tính tương tự nhau sẽ tập hợp thành lớp Ô tô. Lớp ô tô sẽ bao gồm 2 thông tin là thuộc tính và phương thức: 
  • Thuộc tính/đặc điểm (Attribute): 
    • Hãng sản xuất
    • Model
    • Năm sản xuất
    • Màu sắc
  • Phương thức/hành vi(Method)- ô tô có thể làm gì: 
    • Khởi động
    • Dừng
    • Phanh
    • Bật cần gạt nước
  • Các đối tượng của lớp Ô tô có thể là: Honda, Toyota, Mazda, …

4 tính chất của OOP

  • Tính đóng gói (Encapsulation)

Tính đóng gói cho phép che giấu thông tin và những tính chất xử lý bên trong của đối tượng. Các đối tượng khác không thể tác động trực tiếp đến dữ liệu bên trong và làm thay đổi trạng thái của đối tượng mà bắt buộc phải thông qua các phương thức công khai do đối tượng đó cung cấp. Tính chất này giúp tăng tính bảo mật cho đối tượng và tránh tình trạng dữ liệu bị hư hỏng ngoài ý muốn.

Giả sử định nghĩa lớp SinhVien và công khai hoTen và điểm như sau:

Khi sử dụng người dùng có thể gán dữ liệu cho các trường một cách tùy tiện. Nếu điểm hợp lệ chỉ từ 0 đến 10, điều này sẽ dẫn đến sai dữ liệu. Để khắc phục điều này, người dùng phải che giấu dữ liệu (Encapsulation. Để che giấu thông tin, sử dụng private cho các trường dữ liệu. Khi đó, người dùng muốn truy cập đến các thuộc tính này thì phải thông qua các phương thức set, get.

Bổ sung các phương thức getter và setter để đọc/ghi các trường đã che dấu:

Trong phương thức setDiem ta bổ sung những xử lý khi dữ liệu không hợp lệ:

Tính kế thừa (Inheritance)

Đây là tính chất được sử dụng khá nhiều. Tính kế thừa cho phép xây dựng một lớp mới (lớp Con), kế thừa và tái sử dụng các thuộc tính, phương thức dựa trên lớp cũ (lớp Cha) đã có trước đó. 

Các lớp Con kế thừa toàn bộ thành phần của lớp Cha và không cần phải định nghĩa lại. Lớp Con có thể mở rộng các thành phần kế thừa hoặc bổ sung những thành phần mới.

Ví dụ, Lớp Cha là smartphone, có các thuộc tính: màu sắc, bộ nhớ, hệ điều hành… Các lớp Con là iPhone, Samsung, Oppo cũng có các thuộc tính: màu sắc, bộ nhớ, hệ điều hành…

Tính trừu tượng (Abstraction)

Tính trừu tượng là một tiến trình ẩn các cài đặt chi tiết và chỉ hiển thị tính năng tới người dùng. Nói cách khác, nó chỉ hiển thị các thứ quan trọng tới người dùng và ẩn các chi tiết nội tại, ví dụ: để gửi tin nhắn, người dùng chỉ cần soạn text và gửi tin. Bạn không biết tiến trình xử lý nội tại về phân phối tin nhắn.

Tính trừu tượng giúp bạn trọng tâm hơn vào đối tượng thay vì quan tâm đến cách nó thực hiện.

Tính trừu tượng (Abstraction) trong Java

  • Có 2 cách để đạt được sự trừu tượng hóa trong java
    • Sử dụng lớp abstract
    • Sử dụng interface

Tính đa hình (Polymorphism)

Tính đa hình trong lập trình OOP cho phép các đối tượng khác nhau thực thi chức năng giống nhau theo những cách khác nhau. Overriding thực hiện tính đa hình trong lập trình hướng đối tượng (một hành vi được thể hiện với các hình thái khác nhau) 

Ví dụ Tính đa hình (Polymorphism) trong Java:

Động vật có cùng phương thức speak(), nhưng thể hiện của mỗi loại động vật lại khác nhau.

Bài viết này đã hướng dẫn cho bạn về OOP, Lớp (Class), đối tượng (Object), 4 tính chất của OOP. Hy vọng rằng các kiến thức này sẽ giúp ích cho bạn trong quá trình học tập, làm việc!

Giảng viên Trần Thị Hiếu
Bộ môn Ứng dụng phần mềm
FPT Polytechnic Hà Nội

Hỗ trợ tư vấn và giải đáp thông tin tuyển sinh FPT Polytechnic

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2026

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.