Á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.
- Tìm hiểu thêm: Làm sao để lấy giá trị của input trong JavaScript?
Mục lục
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.
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:
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.
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.
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.
Tìm hiểu thêm: