4 tính chất trong lập trình hướng đối tượng | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

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

Chia sẻ kiến thức 04/03/2022

Bất kỳ một developer nào muốn gắn bó lâu dài với công việc lập trình, đều cần phải biết về lập trình hướng đối tượng bao gồm cả 4 tính chất quan trọng của nó. Vậy 4 tính chất trong lập trình hướng đối tượng là gì? 

>> Khóa học lập trình cơ bản

>> Kỹ thuật lập trình PHP

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

Lập trình hướng đối tượng hay còn gọi là OOP (viết tắt của Object Oriented Programming) là một phương pháp giúp việc code trở nên dễ phát triển, tái sử dụng được, bảo mật cao và dễ bảo trì. Phương pháp này sẽ chia nhỏ chương trình thành các đối tượng và các mối quan hệ, trong đó mỗi đối tượng sẽ có các thuộc tính (dữ liệu) và hành vi (phương thức). 

Lập trình hướng đối tượng
Lập trình hướng đối tượng

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

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

Ví dụ: Đối tượng smart tivi sẽ có:

  • Thuộc tính: kích thước màn hình (inch), hiệu suất, hệ điều hành,  
  • Phương thức: tìm kiếm bằng giọng nói, xem youtube, chơi game,…

Muốn lập trình và thiết kế chương trình theo phương pháp này, bạn cần hiểu rõ về 4 tính chất lập trình hướng đối tượng.

2. Các tính chất trong lập trình hướng đối tượng

OPP hiện có 4 tính chất cơ bản bao gồm: tính đóng gói, tính kế thừa, tính đa hình và tính trừu tượng. Đặc điểm của từng tính chất sẽ được thể hiện cụ thể dưới đây:

2.1. Tính đóng gói (Encapsulation)

Tính đóng gói cho phép ẩn đi những thông tin không cần thiết về đối tượng. Cùng với đó, 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à 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 mục đích chính giúp tăng tính bảo mật cho đối tượng. Đồng thời, hạn chế các lỗi khi phát triển chương trình.

Tính đóng gói trong lập trình hướng đối tượng
Tính đóng gói trong lập trình hướng đối tượng

2.2. Tính kế thừa (Inheritance)

Tính chất này được sử dụng khá nhiều, nó 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ó từ trước đó mà 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à smart tivi, có các thuộc tính: kích thước màn hình (inch), ứng dụng điều khiển bằng điện thoại, hiệu suất…
  • Các lớp Con là Samsung, LG, Sony,… cũng có các thuộc tính tương tự như vậy.

2.3. Tính đa hình (Polymorphism)

Tính đa hình trong lập trình hướng đối tượng 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.

Ví dụ: Ở lớp smart tivi, mỗi một dòng tivi đều kế thừa các thành phần của lớp cha nhưng Samsung có nhiều ứng dụng điều khiển bằng điện thoại còn Toshiba thì rất ít.

Ví dụ minh họa về tính đa hình trong lập trình hướng đối tượng
Ví dụ minh họa về tính đa hình trong lập trình hướng đối tượng

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

Tính trừu tượng của OPP giúp loại bỏ những thứ phức tạp, rườm rà và không cần thiết của đối tượng. Theo đó, chỉ tập trung vào những gì cốt lõi, quan trọng, cần giải quyết.

Ví dụ: Quản lý danh sách khách hàng đã mua sản phẩm/dịch vụ, bạn chỉ cần quan tâm đến những thông tin như: họ tên, giới tính, số điện thoại, email, địa chỉ… Mà không cần quản lý thêm thông tin như chiều cao, cân nặng, màu da,…

Theo FUNiX, việc lập trình hướng đối tượng thể hiện qua 4 tính chất nêu trên sẽ giúp chúng ta hình dung vấn đề 1 cách thực tế. Qua đó, giúp giải quyết được các bài toán phức tạp theo cách đơn giản nhất. 

Như vậy, chúng ta vừa tìm hiểu xong về 4 tính chất của lập trình hướng đối tượng. Mong rằng, những kiến thức chia sẻ trên đây sẽ giúp bạn hiểu và biết cách ứng dụng hiệu quả trong sự nghiệp lập trình của mình!

Phạm Thị Thanh Ngọc

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại