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.

branding
branding
February 06, 2021
0
Share this post to:
Tags:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan
So sánh lập trình hướng đối tượng và lập trình hướng cấu trúc

So sánh lập trình hướng đối tượng và lập trình hướng cấu trúc

Mặc dù đều là kỹ thuật lập trình sử dụng ngôn ngữ bậc cao, nhưng nếu so sánh lập trình hướng đối tượng và lập trình hướng cấu trúc thì ta có thể dễ dàng phát hiện những điểm không tương đồng giữa 2 phương pháp này. Vậy chúng khác nhau như thế nào? Cùng […]
Các ngôn ngữ lập trình hướng đối tượng phổ biến

Các ngôn ngữ lập trình hướng đối tượng phổ biến

Các ngôn ngữ lập trình hướng đối tượng là một trong những mảng kiến thức quan trọng mà bạn nhất định không thể bỏ qua khi học về lập trình hướng đối tượng. Chúng cung cấp rất nhiều lợi ích thiết thực cho bạn trong việc xây dựng các ứng dụng web cũng như phát […]
Các cách lập trình hướng đối tượng trong JavaScript

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 […]
3 tips rèn luyện tư duy lập trình hướng đối tượng

3 tips rèn luyện tư duy lập trình hướng đối tượng

Tư duy lập trình hướng đối tượng là một trong những kỹ năng vô cùng quan trọng mà developer cần có. Bài viết dưới đây sẽ bật mí cho bạn những cách để trau dồi và nâng cao tư duy hướng đối tượng hiệu quả.  Mục lục1. Định nghĩa tư duy lập trình hướng đối […]
Lập trình hướng đối tượng Python và nguyên lý

Lập trình hướng đối tượng Python và nguyên lý

Lập trình hướng đối tượng Python là một kỹ thuật hỗ trợ và cho phép các lập trình viên làm việc một cách trực tiếp với các đối tượng mà họ định nghĩa lên. Python là một ngôn ngữ lập trình khá mạnh giúp tạo ra và sử dụng đối tượng vô cùng dễ dàng. […]
MVC framework là gì? Quy trình hoạt động của mô hình MVC

MVC framework là gì? Quy trình hoạt động của mô hình MVC

MVC framework đóng vai trò quan trọng trong việc thiết kế một chương trình cho máy tính, ứng dụng web hoặc thiết bị di động. Vậy, MVC framework là gì? Quy trình hoạt động của mô hình MVC ra sao? Cùng theo dõi bài viết sau đây của Got It để có câu trả lời […]