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

Áp dụng lập trình hướng đối tượng trong JavaScript là việc không hề đơn giản, đặc biệt là với những ai mới bắt đầu tiếp cận với kỹ thuật này. Bài viết dưới đây giới thiệu về OOP và gợi ý cho bạn 4 thủ thuật để hiện thực các đặc tính của nó với JavaScript. 

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

1. Khái niệm và đặc tính lập trình hướng đối tượng

1.1. Định nghĩa lập trình hướng đối tượng

Lập trình hướng đối tượng (Object Oriented Programming – OOP) là phương pháp sử dụng các đối tượng để mô hình hóa mọi thứ ở thế giới thật mà bạn muốn trình bày chúng trong các chương trình. Bên cạnh đó, kỹ thuật này cũng giúp cho việc truy cập vào các tính năng trong chương trình trở nên dễ dàng hơn. 

Các đối tượng có thể chứa những đoạn mã và dữ liệu có liên quan, chúng thể hiện thông tin về thuộc tính và phương thức của đối tượng đó. Các đối tượng có thông tin tương tự nhau được xếp cùng vào một lớp (Class). 

1.2. Đặc tính của lập trình hướng đối tượng

  • Encapsulation (tính đóng gói): phương thức và thuộc tính của đối tượng đã được đóng gói vào class để code bên ngoài không thể tiếp cận và thay đổi chúng. 
  • Inheritance (tính kế thừa): cho phép đối tượng đời trước chia sẻ dữ liệu cho các đối tượng đời sau, tận dụng các tính năng có sẵn một cách hiệu quả.
  • Polymorphism (tính đa hình): là hiện tượng các đối tượng không cùng một lớp có thể hiểu được cùng một thông điệp nhưng lại có phương thức phản hồi khác nhau. 
  • Abstraction (tính trừu tượng): chỉ tập trung vào các các thuộc tính và phương thức của đối tượng cần thiết cho việc xử lý bài toán lập trình, bỏ qua các thông tin không liên quan.

2. 4 cách viết lập trình hướng đối tượng trong JavaScript

Trong JavaScript, để có thể thực hiện được các đặc tính của OOP, bạn nên áp dụng những cách thức dưới đây: 

2.1. Dùng các hàm Constructor

Constructor là các hàm có chứa từ khóa this. Từ khóa này cho phép bạn có thể lưu trữ, cũng như truy cập những giá trị duy nhất được tạo cho từng instance. Một instance của đối tượng có thể được tạo với toán tử new.

Tạo hàm Constructor
Tạo hàm Constructor

2.2. Dùng các Class

Class trong JavaScript được coi là cú pháp cải tiến của các hàm Constructor. Với Class, việc viết các hàm Constructor sẽ đơn giản hơn nhiều. 

Bạn có thể viết hàm Class với cú pháp sau: 

Tạo hàm Class
Tạo hàm Class

Bạn có để ý đến việc hàm Constructor có chứa code tương tự như cú pháp Constructor đã đề cập ở cách trên không? Bởi trong một class chỉ có thể có duy nhất 1 hàm Constructor. Điều này có nghĩa, bạn chỉ được phép khai báo duy nhất một hàm có tên là Constructor. Bạn có thể bỏ qua hàm này nếu không cần khởi tạo đối tượng cho Class.

Tương tự như bước trên, bạn có thể tạo được một instance của đối tượng với toán tử “new”.

2.3. Dùng đối tượng liên kết đến các đối tượng khác

Với cách này, bạn xem xét bản thiết kế như một đối tượng bình thường và sử dụng một phương thức để khởi tạo instance cho đối tượng. Thông thường, phương thức này được gọi là init.

Bạn sử dụng phương thức Object.create để tạo một instance. Sau đó, bạn cần chạy hàm init.  

Dùng Object.create để tạo một instance cho đối tượng
Dùng Object.create để tạo một instance cho đối tượng

2.4. Dùng các hàm Factory

OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn. 

Factory là tất cả hàm có thể trả về một đối tượng trong JavaScript. Dưới đây là cách đơn giản nhất để tạo các hàm Factory.

Tạo hàm Factory
Tạo hàm Factory

Bạn không cần dùng đến từ khóa new để tạo instance cho các đối tượng khi sử dụng hàm Factory. 

Bài viết trên đây đã mang đến bạn cái nhìn tổng quan về lập trình hướng đối tượng cũng như cách thức để ứng dụng kỹ thuật này với JavaScript. Thông qua 4 thủ thuật trên, tin chắc rằng việc lập trình hướng đối tượng trong JavaScript sẽ không còn là thử thách với bạn nữa. 

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://vn.got-it.ai/blog/wp-content/uploads/2021/04/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
February 06, 2021
Share this post to:
Tags:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan
4 khóa học lập trình hướng đối tượng miễn phí cho người mới

4 khóa học lập trình hướng đối tượng miễn phí cho người mới

Nếu bạn muốn theo nghề IT thì sớm muộn cũng phải học lập trình hướng đối tượng. Đây là một kiến thức cơ bản, bắt buộc phải biết. Bài viết sẽ chia sẻ với bạn 4 khóa học miễn phí, phù hợp với người mới bắt đầu. Mục lục1. Học lập trình hướng đối tượng […]
Phương pháp lập trình hướng đối tượng và các ưu, nhược điểm

Phương pháp lập trình hướng đối tượng và các ưu, nhược điểm

Từ lâu phương pháp lập trình hướng đối tượng đã không còn xa lạ với các lập trình viên. Bài viết sẽ chia sẻ với các bạn một số ưu điểm và nhược điểm của phương pháp này. Mục lục1. Phương pháp lập trình hướng đối tượng là gì?2. Ưu điểm của phương pháp lập […]
4 khái niệm bạn phải biết khi lập trình hướng đối tượng

4 khái niệm bạn phải biết khi lập trình hướng đối tượng

Lập trình hướng đối tượng (Object-oriented programming) là một phương pháp quen thuộc đối với các chuyên gia phát triển phần mềm. Sau đây là 4 khái niệm bạn bắt buộc phải biết để hiểu về lập trình hướng đối tượng. Mục lục1. Class (Lớp)2. Objects (Đối tượng)3. Attributes (Thuộc tính)4. Methods (Phương thức) 1. […]
Những cách lấy giá trị checkbox bằng JavaScript đơn giản nhất

Những cách lấy giá trị checkbox bằng JavaScript đơn giản nhất

Làm sao để lấy giá trị checkbox bằng JavaScript? Nhiều bạn khi bắt đầu học lập trình web rất hay phân vân câu hỏi này. Checkbox là một trong những thành phần quan trọng giúp người dùng tương tác với website. Hãy cùng tìm hiểu cách lấy giá trị checkbox khi sử dụng JavaScript qua […]
JavaScript là gì? Giải thích chi tiết về JavaScript

JavaScript là gì? Giải thích chi tiết về JavaScript

JavaScript là gì? Đây là câu hỏi phổ biến mà các nhà tuyển dụng thường dùng khi phỏng vấn bạn về Frontend. Nếu  lĩnh vực lập trình Frontend, hãy chắc chắn rằng bạn thực sự hiểu rõ về JavaScript. Bài viết dưới đây sẽ cho bạn câu trả lời chính xác và cụ thể nhất […]
MEAN Stack là gì? Cấu trúc, ưu điểm của MEAN Stack

MEAN Stack là gì? Cấu trúc, ưu điểm của MEAN Stack

MEAN Stack là gì? Với những ai đã và đang làm việc với JavaScript thì chắc hẳn đã từng nghe đến khái niệm này. Bài viết dưới đây sẽ giới thiệu cho bạn về định nghĩa, cấu trúc và ưu điểm của giải pháp phát triển ứng dụng web này.  Mục lục1. MEAN Stack là […]