BAI GIANG VB
Chia sẻ bởi Trần Ngọc Vũ An |
Ngày 23/10/2018 |
42
Chia sẻ tài liệu: BAI GIANG VB thuộc Bài giảng khác
Nội dung tài liệu:
5/21/2010
Design: Nguyễn Hiền Du
Lập trình hướng đối tượng
Là đưa cả giải thuật và cấu trúc dữ liệu vào cùng một cấp. Nghĩa là ta làm việc với các gói bao gồm cả dữ liệu lẫn các phương thức (hàm, thủ tục) để xử lý chúng.
5/21/2010
Design: Nguyễn Hiền Du
I. Một số khái niệm cơ bản
Lớp (class):
Lớp được ví như một khuôn mẫu dùng để tạo ra các đối tượng. Khi tạo một đối tượng từ một lớp, thì các đối tượng này là những đối tượng hoạt động. Các thành phần trên hộp công cụ có thể ví như lớp
giả sử ta bổ sung một nút lệnh vào biểu mẫu, coi như ta đã tạo ra một đối tượng (Command1) từ lớp CommdButton
5/21/2010
Design: Nguyễn Hiền Du
2. Đóng kín (encapsulation)
Các thành phần của lớp là dữ liệu và phương thức thuộc lớp đó. Rõ ràng đối tượng có tính đóng kín, hay còn gọi là gói dữ liệu, tính đóng kín là khái niệm chính yếu trong OOP. Giống như một lọ thuốc có viên thuốc (dữ liệu) và tờ giấy trong đó có hướng dẫn dùng các viên thuốc đó (phương thức), hai thứ đó được đóng kín trong lọ. Nhờ tính năng đóng kín nên đối tượng có thể ứng xử theo kiểu "hộp đen" cho nên có thể sử dụng lại và gỡ rối dễ dàng.
5/21/2010
Design: Nguyễn Hiền Du
3. Kế thừa (inheritance)
Việc tạo lớp dựa trên lớp đã có được gọi là tính kế thừa. Mục đích chính của tính kế thừa là giúp ta dùng lại đối tượng mà không phải viết lại các thành phần của đối tượng.
4.Đa hình (polymorphism):
Khi viết mã gửi một thông điệp cho đối tượng (gọi một phương thức), có thể phương thức đó nằm trong nhiều đối tượng mà khi biên dịch chưa thể xác định ngay được là phương thức thuộc đối tượng nào, mà phải chờ đến khi chạy chương trình. Nghĩa là có thể xẩy ra nhiều hình thái (đa hình) trong việc lựa chọn một phương thức cụ thể, tức là "các đối tượng tự biết cách phản ứng trong những tình huống cụ thể"
5/21/2010
Design: Nguyễn Hiền Du
II. Tạo đối tượng trong VB
1. Khai báo Biến kiểu đối tượng
Có một số kiểu biến đối tượng được dùng khi khai báo sau:
Dim ObjA As Control
hoặc
Dim objB As Object
Cho phép ta ấn định biến objB cho bất kỳ đối tượng VB nào. Ta có thể dùng một kiểu biến Variant hay Object để tham chiếu một đối tượng VB bất kỳ
5/21/2010
Design: Nguyễn Hiền Du
Vi dụ:
Dim A As TextBox
Set A = Text1
A.Text="Tin học"
Hoặc
Dim A As Variant
Set A = Text1
A.Text="Tin học"
5/21/2010
Design: Nguyễn Hiền Du
2. Từ khoá New
Từ khoá New rất thông dụng để tạo các đối tượng VB vào thời gian thực hiện
- Giả sử bạn có một biểu mẫu tên Form1 trong đề án. Khai báo sau:
Dim frmA As New Form1
- Sẽ tạo một bản sao của Form1; frmA có các tính chất giống như Form1.
Lưu ý: Từ khoá New cũng được dùng với các đối tượng do chính ta tạo ra, Không dùng với các điều khiển trên biểu mẫu.
5/21/2010
Design: Nguyễn Hiền Du
3. Hàm TypeName và các biến đối tượng
Chẳng cần phải dùng toán tử TypeOf để xác định xem đang xử lý đối tượng nào. Ta có thể dùng hàm TypeName để xác định kiểu của một đối tượng cũng như kiểu của một biến bất kỳ.
Ví dụ
Private Sub Command1_Click()
Dim Abutton As Object
Set Abutton = Command1
Me.Print TypeName(AButton)
End Sub
5/21/2010
Design: Nguyễn Hiền Du
4. Tập hợp controls
Có thể xem tập hợp (collection) như mảng, nó có thể tự động tăng phần tử hoặc giảm phần tử khi có yêu cầu.
Tính chất Count của tập hợp Controls báo cho ta biết số lượng điều khiển đã nạp trên một biểu mẫu cụ thể
Để truy cập từng điều khiển riêng lẻ, ta dùng chỉ số: Controls(0), Controls(1) v.v..
Mặc dù chỉ số bắt đầu là 0, nhưng Controls(0) có thể không phải là điều khiển đầu tiên mà ta đã bổ sung vào biểu mẫu
5/21/2010
Design: Nguyễn Hiền Du
Private Sub Form_Load()
Dim I As Integer
Show
For I = 0 To Controls.Count - 1
Print Controls(I).Name
Next I
End Sub
5/21/2010
Design: Nguyễn Hiền Du
5. Bổ sung các điều khiển vào thời gian thực hiện
Cú pháp dùng Add để bổ sung các điều khiển như sau:
Set ObjName = FormName.Control.Add(ProgID, Key)
ObjName là biến đối tượng đã được khai báo trước. Tham số ProgID là một chuỗi giúp VB xác định được đích danh đối tượng cần bổ sung. Với các điều khiển không phải thông qua Tool / Components, thì quy tắc của ProgID như sau: VB.ControlType
5/21/2010
Design: Nguyễn Hiền Du
Private Sub Form_Load()
Dim A As Label
Set A = Form1.Controls.Add("VB.Label", "Label1")
Dim B As TextBox
Set B = Form1.Controls.Add("VB.textbox", "Text1")
End Sub
5/21/2010
Design: Nguyễn Hiền Du
6. Tạo Class module
Để tạo một môđun lớp mới vào thời gian thiết kế, ta chọn Project/Add Class Module. Tính chất Name sẽ xác định tên của lớp đó
Bước 1: chọn Project/ Add Class Module và gõ vào mã lệnh, sau đó đặt tên cho Class Module
Bước 2. Tạo một Form và khai báo biến có kiểu đối tượng là tên của Class modul đó. Khi đó nhung thủ tuc và biến được khai báo trong modul mới có thể thực hiện được
ví dụ:
5/21/2010
Design: Nguyễn Hiền Du
7. Dùng ActivieX.dll để tạo một Class Module sau đó dịch thành tệp dll
Bước 1: Khởi động ActiveX.dll và gõ mã lệnh vào Class Module.
Bước 2: Đặt tên cho Project1 và Class Module
Bước 3: Dịch Class Module bằng cách Chọn File/Make
Bước 4: Đăng ký tệp Tên_tệp.dll bằng cách chọn: Start/Run và gõ vào:
Regsvr32 c:Tên_tệp.dll
Bước 5: Chọn Project/References sau đó chọn Browse và đưa tệp vừa dịch vào danh sách, cuối cùng chọn OK
Bước 6: Khởi động Standard.exe và gõ mã lệnh
Design: Nguyễn Hiền Du
Lập trình hướng đối tượng
Là đưa cả giải thuật và cấu trúc dữ liệu vào cùng một cấp. Nghĩa là ta làm việc với các gói bao gồm cả dữ liệu lẫn các phương thức (hàm, thủ tục) để xử lý chúng.
5/21/2010
Design: Nguyễn Hiền Du
I. Một số khái niệm cơ bản
Lớp (class):
Lớp được ví như một khuôn mẫu dùng để tạo ra các đối tượng. Khi tạo một đối tượng từ một lớp, thì các đối tượng này là những đối tượng hoạt động. Các thành phần trên hộp công cụ có thể ví như lớp
giả sử ta bổ sung một nút lệnh vào biểu mẫu, coi như ta đã tạo ra một đối tượng (Command1) từ lớp CommdButton
5/21/2010
Design: Nguyễn Hiền Du
2. Đóng kín (encapsulation)
Các thành phần của lớp là dữ liệu và phương thức thuộc lớp đó. Rõ ràng đối tượng có tính đóng kín, hay còn gọi là gói dữ liệu, tính đóng kín là khái niệm chính yếu trong OOP. Giống như một lọ thuốc có viên thuốc (dữ liệu) và tờ giấy trong đó có hướng dẫn dùng các viên thuốc đó (phương thức), hai thứ đó được đóng kín trong lọ. Nhờ tính năng đóng kín nên đối tượng có thể ứng xử theo kiểu "hộp đen" cho nên có thể sử dụng lại và gỡ rối dễ dàng.
5/21/2010
Design: Nguyễn Hiền Du
3. Kế thừa (inheritance)
Việc tạo lớp dựa trên lớp đã có được gọi là tính kế thừa. Mục đích chính của tính kế thừa là giúp ta dùng lại đối tượng mà không phải viết lại các thành phần của đối tượng.
4.Đa hình (polymorphism):
Khi viết mã gửi một thông điệp cho đối tượng (gọi một phương thức), có thể phương thức đó nằm trong nhiều đối tượng mà khi biên dịch chưa thể xác định ngay được là phương thức thuộc đối tượng nào, mà phải chờ đến khi chạy chương trình. Nghĩa là có thể xẩy ra nhiều hình thái (đa hình) trong việc lựa chọn một phương thức cụ thể, tức là "các đối tượng tự biết cách phản ứng trong những tình huống cụ thể"
5/21/2010
Design: Nguyễn Hiền Du
II. Tạo đối tượng trong VB
1. Khai báo Biến kiểu đối tượng
Có một số kiểu biến đối tượng được dùng khi khai báo sau:
Dim ObjA As Control
hoặc
Dim objB As Object
Cho phép ta ấn định biến objB cho bất kỳ đối tượng VB nào. Ta có thể dùng một kiểu biến Variant hay Object để tham chiếu một đối tượng VB bất kỳ
5/21/2010
Design: Nguyễn Hiền Du
Vi dụ:
Dim A As TextBox
Set A = Text1
A.Text="Tin học"
Hoặc
Dim A As Variant
Set A = Text1
A.Text="Tin học"
5/21/2010
Design: Nguyễn Hiền Du
2. Từ khoá New
Từ khoá New rất thông dụng để tạo các đối tượng VB vào thời gian thực hiện
- Giả sử bạn có một biểu mẫu tên Form1 trong đề án. Khai báo sau:
Dim frmA As New Form1
- Sẽ tạo một bản sao của Form1; frmA có các tính chất giống như Form1.
Lưu ý: Từ khoá New cũng được dùng với các đối tượng do chính ta tạo ra, Không dùng với các điều khiển trên biểu mẫu.
5/21/2010
Design: Nguyễn Hiền Du
3. Hàm TypeName và các biến đối tượng
Chẳng cần phải dùng toán tử TypeOf để xác định xem đang xử lý đối tượng nào. Ta có thể dùng hàm TypeName để xác định kiểu của một đối tượng cũng như kiểu của một biến bất kỳ.
Ví dụ
Private Sub Command1_Click()
Dim Abutton As Object
Set Abutton = Command1
Me.Print TypeName(AButton)
End Sub
5/21/2010
Design: Nguyễn Hiền Du
4. Tập hợp controls
Có thể xem tập hợp (collection) như mảng, nó có thể tự động tăng phần tử hoặc giảm phần tử khi có yêu cầu.
Tính chất Count của tập hợp Controls báo cho ta biết số lượng điều khiển đã nạp trên một biểu mẫu cụ thể
Để truy cập từng điều khiển riêng lẻ, ta dùng chỉ số: Controls(0), Controls(1) v.v..
Mặc dù chỉ số bắt đầu là 0, nhưng Controls(0) có thể không phải là điều khiển đầu tiên mà ta đã bổ sung vào biểu mẫu
5/21/2010
Design: Nguyễn Hiền Du
Private Sub Form_Load()
Dim I As Integer
Show
For I = 0 To Controls.Count - 1
Print Controls(I).Name
Next I
End Sub
5/21/2010
Design: Nguyễn Hiền Du
5. Bổ sung các điều khiển vào thời gian thực hiện
Cú pháp dùng Add để bổ sung các điều khiển như sau:
Set ObjName = FormName.Control.Add(ProgID, Key)
ObjName là biến đối tượng đã được khai báo trước. Tham số ProgID là một chuỗi giúp VB xác định được đích danh đối tượng cần bổ sung. Với các điều khiển không phải thông qua Tool / Components, thì quy tắc của ProgID như sau: VB.ControlType
5/21/2010
Design: Nguyễn Hiền Du
Private Sub Form_Load()
Dim A As Label
Set A = Form1.Controls.Add("VB.Label", "Label1")
Dim B As TextBox
Set B = Form1.Controls.Add("VB.textbox", "Text1")
End Sub
5/21/2010
Design: Nguyễn Hiền Du
6. Tạo Class module
Để tạo một môđun lớp mới vào thời gian thiết kế, ta chọn Project/Add Class Module. Tính chất Name sẽ xác định tên của lớp đó
Bước 1: chọn Project/ Add Class Module và gõ vào mã lệnh, sau đó đặt tên cho Class Module
Bước 2. Tạo một Form và khai báo biến có kiểu đối tượng là tên của Class modul đó. Khi đó nhung thủ tuc và biến được khai báo trong modul mới có thể thực hiện được
ví dụ:
5/21/2010
Design: Nguyễn Hiền Du
7. Dùng ActivieX.dll để tạo một Class Module sau đó dịch thành tệp dll
Bước 1: Khởi động ActiveX.dll và gõ mã lệnh vào Class Module.
Bước 2: Đặt tên cho Project1 và Class Module
Bước 3: Dịch Class Module bằng cách Chọn File/Make
Bước 4: Đăng ký tệp Tên_tệp.dll bằng cách chọn: Start/Run và gõ vào:
Regsvr32 c:Tên_tệp.dll
Bước 5: Chọn Project/References sau đó chọn Browse và đưa tệp vừa dịch vào danh sách, cuối cùng chọn OK
Bước 6: Khởi động Standard.exe và gõ mã lệnh
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Ngọc Vũ An
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)