Là 1 kỹ thuật phân tích code dựa theo các thuộc tính và chức năng của đối tượng cần xử lý.
Lập trình hướng đối tượng (OOP - Object-Oriented Programming) trong VBA có thể được thực hiện bằng cách sử dụng các khái niệm cơ bản như Class (lớp), Property (thuộc tính), Method (phương thức), và Event (sự kiện).
Vậy không sử dụng hướng đối tượng thì phần mềm có chạy được hay không ? câu trả lời là vẫn chạy bình thường, nhưng nếu lập trình hệ thống lớn thì bạn vận dùng lập trình hướng đối tượng giúp bạn tư duy vấn đề dễ dàng và nhanh hơn gấp nhiều lần.
Class (Lớp): Định nghĩa một loại đối tượng với các thuộc tính và phương thức.
Property (Thuộc tính): Là các biến chứa thông tin của đối tượng.
Method (Phương thức): Là các hàm hoặc quy trình thực hiện hành động cho đối tượng.
Event (Sự kiện): Là các hành động mà đối tượng có thể phát ra và các chương trình khác có thể xử lý.
Class Module: Tạo một lớp đối tượng.
Standard Module: Sử dụng và tạo đối tượng từ lớp.
Bước 1: Tạo một Class Module
Trong VBA, mở trình soạn thảo và tạo một Class Module.
Đặt tên lớp là Person.
Trong Class Module, khai báo các thuộc tính và phương thức.
' Tạo lớp Person trong Class Module
Public FirstName As String
Public LastName As String
' Phương thức khởi tạo
Public Sub Initialize(fName As String, lName As String)
FirstName = fName
LastName = lName
End Sub
' Phương thức để lấy tên đầy đủ
Public Function GetFullName() As String
GetFullName = FirstName & " " & LastName
End Function
' Khai báo một biến kiểu Person
Dim p As Person
' Tạo đối tượng mới từ lớp Person
Set p = New Person
' Gọi phương thức Initialize để khởi tạo giá trị
p.Initialize "John", "Doe"
' Gọi phương thức GetFullName để lấy tên đầy đủ
MsgBox p.GetFullName ' Sẽ hiển thị "John Doe"
Trong VBA, bạn có thể tạo các thuộc tính với phương thức Get và Set thay vì khai báo trực tiếp như trong ví dụ trước. Điều này giúp kiểm soát việc truy cập và thay đổi giá trị của thuộc tính, các hệ thống bảo mật cao thường ứng dụng kỹ thuật này.
Bước 1: Tạo lớp với thuộc tính Get và Set
' Tạo lớp Person với thuộc tính Get và Set trong Class Module
Private pFirstName As String
Private pLastName As String
' Phương thức khởi tạo
Public Sub Initialize(fName As String, lName As String)
pFirstName = fName
pLastName = lName
End Sub
' Getter cho FirstName
Public Property Get FirstName() As String
FirstName = pFirstName
End Property
' Setter cho FirstName
Public Property Let FirstName(fName As String)
pFirstName = fName
End Property
' Getter cho LastName
Public Property Get LastName() As String
LastName = pLastName
End Property
' Setter cho LastName
Public Property Let LastName(lName As String)
pLastName = lName
End Property
' Phương thức để lấy tên đầy đủ
Public Function GetFullName() As String
GetFullName = pFirstName & " " & pLastName
End Function
Sub TestPersonWithProperties()
' Khai báo một biến kiểu Person
Dim p As Person
' Tạo đối tượng mới từ lớp Person
Set p = New Person
' Gọi phương thức Initialize để khởi tạo giá trị
p.Initialize "Jane", "Doe"
' Sử dụng Setter để thay đổi tên
p.FirstName = "Mary"
p.LastName = "Smith"
' Hiển thị tên đầy đủ sau khi thay đổi
MsgBox p.GetFullName ' Sẽ hiển thị "Mary Smith"
End Sub
Class trong VBA giúp bạn tạo ra các đối tượng với các thuộc tính và phương thức riêng biệt.
Property Get và Property Let cho phép bạn kiểm soát cách truy cập và thay đổi giá trị của thuộc tính.
Lập trình hướng đối tượng trong VBA có thể rất mạnh mẽ, giúp bạn tổ chức mã dễ dàng và tái sử dụng lại.
Nếu bạn làm 1 phần mềm bán hàng bằng Access, quản lý nhân sự bằng Access bạn nên sử dụng lập trình hướng đối tượng nó giúp bạn tư duy giải quyết vấn đề rất nhanh.
Tìm kiếm:
Lập trình hướng đối tượng là môn tương đối khó vì nó mang tính trừu tượng, bởi vậy lập trình viên cần ứng dùng mềm dễu trong kỹ thuật này trong khi làm phần mềm Access.