Bài giảng Lập trình VB - Phần 1
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.
Lập trình hướng đối tượngLà đư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. DateDesign: Nguyễn Hiền DuI. Một số khái niệm cơ bảnLớ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ớpgiả 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 DateDesign: Nguyễn Hiền Du2. Đó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.DateDesign: 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ể" DateDesign: Nguyễn Hiền DuII. Tạo đối tượng trong VB1. Khai báo Biến kiểu đối tượngCó một số kiểu biến đối tượng được dùng khi khai báo sau: Dim ObjA As Controlhoặ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ỳ DateDesign: Nguyễn Hiền DuVi dụ:Dim A As TextBoxSet A = Text1A.Text=”Tin học” HoặcDim A As VariantSet A = Text1A.Text=”Tin học”DateDesign: Nguyễn Hiền Du2. 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.DateDesign: Nguyễn Hiền Du3. 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 SubDateDesign: Nguyễn Hiền Du4. 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 DateDesign: Nguyễn Hiền DuPrivate Sub Form_Load() Dim I As Integer Show For I = 0 To Controls.Count - 1 Print Controls(I).Name Next IEnd SubDateDesign: Nguyễn Hiền Du5. Bổ sung các điều khiển vào thời gian thực hiệnCú 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.ControlTypeDateDesign: Nguyễn Hiền DuPrivate 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 SubDateDesign: Nguyễn Hiền Du6. 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 ModuleBướ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 đượcví dụ:DateDesign: Nguyễn Hiền Du7. 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 ModuleBướ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.dllBướ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 OKBước 6: Khởi động Standard.exe và gõ mã lệnhDateDesign: Nguyễn Hiền Du
File đính kèm:
- BAI GIANG VB.ppt