Chào các bạn.
Hôm nay tôi xin giới thiệu với các bạn về 1 kỹ thuật lập trình lớp (class) trong VBA. Đây là kỹ thuật lập trình hướng đối tượng, tuy không mới nhưng sẽ rất thú vị. Nếu nắm vững kỹ thuật này, các bạn có thể code ra những chương trình hết sức mềm dẻo mà nếu viết trên module sẽ rất khó khăn (hoặc thậm chí không thể thực hiện được).
Đầu tiên, các bạn tìm hiểu kỹ thuật lập trình hướng đối tượng qua liên kết sau :
Và tại đây
Bài 0 : Viết class đầu tiên
Bây giờ, chúng ta sẽ xây dựng 1 lớp Mèo. Lớp này có những thuộc tính sau : tên, màu lông, giới tính
Bước đầu tiên thường sẽ là bước khó khăn nhất. Trong lập trình, lúc đầu chúng ta không hiểu gì nhưng buộc phải tự công nhận một vài khái niệm (Đây có thể gọi là tiên đề trong lập trình - Xem ghi chú 1). Vì vậy bài này các bạn thực hiện theo những chỉ dẫn của tôi, cứ code nhiều các bạn sẽ tự 'ngộ' ra chân lý nhé.
+ Trên cửa sổ Microsoft Visual Basic for Application, vào Insert \ Class Module
+ Trên cửa sổ Properties của class vừa được tạo, đổi tên thành cCat
+ Xây dựng thuộc tính : tên
Vì tên mèo là chữ nên thuộc tính này kiểu String. Trên cửa sổ soạn thảo code, các bạn ghi :
+ Xây dựng thuộc tính : màu lông
Màu lông có thể là tên màu (kiểu String) hoặc số của màu (kiểu Long). Để đơn giản, tôi chọn kiểu chuỗi. Trên cửa sổ soạn thảo code, các bạn ghi tiếp :
+ Xây dựng thuộc tính : giới tính
Ở đây tôi giả sử mèo chỉ có 2 giới tính là đực và cái (không có giới tính thứ 3 ở mèo nhé) nên thuộc tính này có kiểu Đúng/Sai. Trên cửa sổ soạn thảo code, các bạn ghi tiếp nữa :
+ Như vậy, toàn bộ code của lớp Mèo chúng ta vừa xây dựng như sau :
Thế là chúng ta vừa viết xong class đầu tiên. Tôi kết thúc bài này tại đây. Chúc vui và hẹn sớm gặp lại.
Ghi chú 1 : Tiên đề trong lập trình.
'Tiên đề' này làm tôi nhớ lại 'Tiên đề Ơ cờ lít' trong hình học : Cho đường thẳng a và một điểm M nằm ngoài đường đường thẳng a. Có 1 và chỉ 1 đường thẳng đi qua M và song song với đường thẳng a.
Các bạn không thể chứng minh (chưa có cơ sở nào mà chứng minh) nhưng phải tự công nhận nó (đây là nền móng của hình học).
Trong lập trình cũng vậy, lúc đầu những khái niệm rất mông lung, nhưng viết code nhiều các bạn sẽ tự hiểu.
Hôm nay tôi xin giới thiệu với các bạn về 1 kỹ thuật lập trình lớp (class) trong VBA. Đây là kỹ thuật lập trình hướng đối tượng, tuy không mới nhưng sẽ rất thú vị. Nếu nắm vững kỹ thuật này, các bạn có thể code ra những chương trình hết sức mềm dẻo mà nếu viết trên module sẽ rất khó khăn (hoặc thậm chí không thể thực hiện được).
Đầu tiên, các bạn tìm hiểu kỹ thuật lập trình hướng đối tượng qua liên kết sau :
Bạn cần đăng nhập để thấy link
Và tại đây
Bạn cần đăng nhập để thấy link
Bài 0 : Viết class đầu tiên
Bây giờ, chúng ta sẽ xây dựng 1 lớp Mèo. Lớp này có những thuộc tính sau : tên, màu lông, giới tính
Bước đầu tiên thường sẽ là bước khó khăn nhất. Trong lập trình, lúc đầu chúng ta không hiểu gì nhưng buộc phải tự công nhận một vài khái niệm (Đây có thể gọi là tiên đề trong lập trình - Xem ghi chú 1). Vì vậy bài này các bạn thực hiện theo những chỉ dẫn của tôi, cứ code nhiều các bạn sẽ tự 'ngộ' ra chân lý nhé.
+ Trên cửa sổ Microsoft Visual Basic for Application, vào Insert \ Class Module
Bạn cần đăng nhập để thấy đính kèm
+ Trên cửa sổ Properties của class vừa được tạo, đổi tên thành cCat
+ Xây dựng thuộc tính : tên
Vì tên mèo là chữ nên thuộc tính này kiểu String. Trên cửa sổ soạn thảo code, các bạn ghi :
PHP:
Public strName As String
Màu lông có thể là tên màu (kiểu String) hoặc số của màu (kiểu Long). Để đơn giản, tôi chọn kiểu chuỗi. Trên cửa sổ soạn thảo code, các bạn ghi tiếp :
PHP:
Public strColor As String
Ở đây tôi giả sử mèo chỉ có 2 giới tính là đực và cái (không có giới tính thứ 3 ở mèo nhé) nên thuộc tính này có kiểu Đúng/Sai. Trên cửa sổ soạn thảo code, các bạn ghi tiếp nữa :
PHP:
Public blnSex As Boolean
PHP:
Option Explicit
Public strName As String
Public strColor As String
Public blnSex As Boolean
Ghi chú 1 : Tiên đề trong lập trình.
'Tiên đề' này làm tôi nhớ lại 'Tiên đề Ơ cờ lít' trong hình học : Cho đường thẳng a và một điểm M nằm ngoài đường đường thẳng a. Có 1 và chỉ 1 đường thẳng đi qua M và song song với đường thẳng a.
Các bạn không thể chứng minh (chưa có cơ sở nào mà chứng minh) nhưng phải tự công nhận nó (đây là nền móng của hình học).
Trong lập trình cũng vậy, lúc đầu những khái niệm rất mông lung, nhưng viết code nhiều các bạn sẽ tự hiểu.
Sửa lần cuối: