Bài giảng Lập trình ứng dụng Windows Form in VB.NET 2005 - Buổi 5: Kỹ thuật lập trình trong VB.NET

™Hàm (Function) - Thủtục (Procedure)

™Khái niệm lập trình hướng đối tượng

(OOP: Object Orientation Programming)

™Lập trình theo sựkiện (Event) và lập

trình Thuộc tính (Property)

pdf19 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 2395 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Lập trình ứng dụng Windows Form in VB.NET 2005 - Buổi 5: Kỹ thuật lập trình trong VB.NET, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
hỉnh sửa dữ liệu 
vào và kết quả trả về thì không cần chỉnh 
sửa ở nơi gọi
Encapsulation: Tính bao bọc
815Windows Form programming with VB.Net 2005.
¾Là khả năng cho phép ta xây dựng một lớp 
mới dựa trên các định nghĩa của một lớp đã có
¾Lớp đã có gọi là lớp Cha, lớp mới phát sinh 
gọi là lớp Con
¾Lớp con kế thừa tất cả các thành phần của lớp 
Cha, có thể mở rộng chức năng các thành 
phần kế thừa cũng như bổ sung thêm các 
thành phần mới.
Inheritance: Tính kế thừa
16Windows Form programming with VB.Net 2005.
™Kết nối trễ:
¾Ta có thể gián giá trị một đối tượng của lớp cha 
bằng một đối tượng thuộc lớp con
¾Khi gọi một phương thức của đối tượng thuộc lớp 
cha, tùy thời điểm gọi, đối tượng này được gán là 
đối tượng thuộc lớp con nào thì phương thức của 
lớp con đó được gọi.
™ Nạp chồng: Là khả năng một lớp có nhiều phương 
thức cùng tên nhưng khác các tham số về số lượng, 
kiểu dữ liệu
™ Ghi đè: là khả năng lớp con định nghĩa lại các 
phương thức của lớp cha
Polymorphism: Tính đa hình (3 hình thức)
917Windows Form programming with VB.Net 2005.
Tạo mới một lớp: menu Project -> Add Class -> 
Nhập tên lớp (Hoặc chuột phải tên Project ….)
Public Class 
…..
End Class
Ta có thể tự định nghĩa một lớp với cú pháp:
 Class 
End Class
Lập trình hướng đối tượng trong VB.NET
18Windows Form programming with VB.Net 2005.
[các Namspace của VB hay của người sử dụng ]
[Namespace { name | name.name } ]
Public Class 
[ Inherits ]
[ Khai báo các biến hay thuộc tính ]
[ Các phương thức (hàm hay thủ tục) ]
End Class
[End Namespace]
Cấu trúc của một Class
10
19Windows Form programming with VB.Net 2005.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.VisualBasic
Namespace CSLD.KetNoi
Public Class DataLayers
Private Con As SqlConnection
Private Cmd As New SqlCommand
Private strConnect As String
Public Sub New()
strConnect = "Data Source=(local);Initial Catalog=Menu;
Persist Security Info=True;User ID=sa;Password=sa"
End Sub ‘ kết húc phương thức new
Public Function GetConnection() As SqlConnection
Dim objCon As SqlConnection
objCon = New SqlConnection(strConnect)
Return objCon
End Function ‘ kết húc phương thức lấy kết nối
End Class ‘ Kết thúc class DataLayers
End Namespace ‘ Kết thúc name space của class DataLayers
Ví dụ class CSDL:
20Windows Form programming with VB.Net 2005.
¾.NetFrameWork cung cấp hơn 5000 đối tượng, để dễ
dàng quan lý và sử dụng, các đối tượng này được đưa vào 
các nhóm tùy theo loại, các nhóm này có một tên gọi là
Namespase
¾ Để sử dụng các đối tượng thuộc namespase nào ta 
phải tham chiếu đến bằng lệnh:
¾ Imports Namespace
Ví dụ: Imports System.Data.OleDb
¾ Chú ý
• Mỗi lệnh Imports chỉ được sử dụng với một không 
gian tên.
• Mỗi Module có thể có nhiều dòng Imports
¾ Các lệnh Imports phải được đặt trước tất cả các khai 
báo, kể cả lệnh khai báo Module hoặc Class
Imports không gian tên (Namespace) : 
11
21Windows Form programming with VB.Net 2005.
Public: Các thực thể khai báo với từ khóa nàycó
thể sử dụng ở mọi nơi.
Private: Cho biết thực thể khai báo chỉ được sử
dụng trong phạm vi khai báo.
Protected: Cho biết thực thể khai báo chỉ được sử
dụng trong phạmvi Class và Sub Class 
(lớp và lớp con).
Friend: Cho biết thực thể khai báochỉ đượcsử
dụng trong phạm vi Project. Nếu không 
có từ khóa, Class mặcn hiên là khai báo 
Friend.
Từ khóa của lớp:
22Windows Form programming with VB.Net 2005.
Public Class 
Inherits 
' Khai báo các phương thức cho lớp đối tượng
[] Sub ([])
…
End Sub
' Hoặc
[] Function ([]) _ 
as 
…
Return 
End Function
End Class
Khai báo một lớp con kế thừa từ lớp cha :
12
23Windows Form programming with VB.Net 2005.
Public: Phương thức được gọi ở mọi nơi.
Private: P.thức chỉ được gọi trong phạm vi của Class.
Protected: P. thức chỉ được gọi trong phạm vi của 
Class đó và các class con (Subclass)
Friend: P. thức chỉ được gọi trong phạm vi của Project.
Overloads: chỉ khai báo cho phương thức thuộc lớp 
con, Cho biết P. thức Nạp chồng một hay nhiều P. 
thức có cùng tên với phương thức trong lớp cha
Overrides: Cho biết P. thức ghi đè một phương thức 
cùng tên của lớp cha. Số lượng tham số, kiểu dữ liệu 
của tham số cũng như kiểu giá trị trả về phải khớp 
với của lớp cha.
Từ khóa của phương thức:
24Windows Form programming with VB.Net 2005.
9Là thủ tục được khai báo với từ khóa Public và luôn 
có tên New
cú pháp:
Public Sub New [(Các tham số)] 
End Sub
9Trong một lớp ta có thể có nhiều phương thức khởi 
tạo với các tham số khác nhau
™Khai báo thuộc tính:
9Thuộc tính là thành phần lưu giữ các tính chất, đặc 
điểm của đối tượng.
9Ứng với mỗi thuộc tính, chúng ta cần khai báo một 
biến Private tương ứng để lưu giữ giá trị.
Phương thức khởi tạo (Constractor):
13
25Windows Form programming with VB.Net 2005.
Public Class CPhanSo 
' các thuộc tính
Private Tu As Integer 
Private Mau As Integer 
' Phương thức thiết lập mặc định
Public Sub New()
Tu = 0 
Mau = 1
End Sub 
' Phương thức thiết lập khi biết tử và mẫu
Public Sub New(ByVal t As Integer, ByVal m As Integer) 
Tu = t 
Mau = m
End Sub 
End Class 
26Windows Form programming with VB.Net 2005.
' Khai báo biến lưu giữ giá trị của thuộc tính
Private mthuoctinh As 
Property Thuoctinh() As 
' Truy xuất giá trị của thuộc tính tức truy xuất đến 
giá trị của biến
Get
Return mthuoctinh 
End Get
' Gán trị cho thuộc tính tức gán trị cho biến
Set (ByVal Value As ) 
mthuoctinh = Value 
End Set
End Property
Truy cập thuộc tính ta dùng cấu trúc Get - Set:
14
27Windows Form programming with VB.Net 2005.
Public Class CHocSinh 
Private intMaSo As Integer 
Private strHoTen As String 
Private bGioiTinh As Boolean
Property MaSo() As Integer 
Get 
Return intMaSo
End Get 
Set(ByVal MaSV As Integer) 
intMaSo = MaSV
End Set 
End Property 
Vd: khai báo thuộc tính
28Windows Form programming with VB.Net 2005.
Property HoTen() As Integer 
Get 
Return strHoTen
End Get 
Set(ByVal sHoTen As Integer) 
strHoTen = sHoTen
End Set 
End Property 
15
29Windows Form programming with VB.Net 2005.
Property GioiTinh() As Integer 
Get 
Return bGioiTinh
End Get 
Set(ByVal Phai As Boolaen) 
bGioiTinh = Phai
End Set 
End Property 
End Class ' Kết thúc class CHocSinh 
30Windows Form programming with VB.Net 2005.
™ Me: được dùng khi chúng ta chỉ rõ muốn dùng các 
thành phần của chính thể hiện Class nơi viết lệnh.
Ví dụ: 
Public Class Con_nguoi 
Private ten as String 
Public Sub Lam_viec()
Dim ten as String 
' biến cụcbộ của Sub được sử dụng 
ten = "Hùng" 
' biến cấp Class được dùng 
Me.ten = "Hùng " 
End Sub 
End Class
Từ khóa Me
16
31Windows Form programming with VB.Net 2005.
™Mybase: được dùng trong Class kế thừa, khi muốn dùng các 
phương thức của Class Cha (class cơ sở); VD:
Public Class Xe
Public sub Chay()
End Sub
End class ' hết Class Xe 
Public Class Xe_Hoi
Inherits Xe
Public sub Chay()
MyBase.Chay() ' chạy của class Xe
End Sub
End Class ' hết Class Xe_Hoi
Từ khóa Mybase
32Windows Form programming with VB.Net 2005.
™MyClass: được dùng để gọi các thể hiện hay phương thức 
của Class hiện hành; VD:
Class TaiKhoan
Sub New()
MyClass.RutTien(100)
End Sub
Overridable Sub RutTien(ByVal amount As Integer)
[Các xử lý rút tiền]
End Sub
End Class
Từ khóa MyClass
17
33Windows Form programming with VB.Net 2005.
Try
[ tryStatements ]
[ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ]
[ catchStatements ]
[ Exit Try ] ]
[ Catch ... ]
[ Finally
[ finallyStatements ] ]
End Try
Bắt lỗi trong lập trình:
34Windows Form programming with VB.Net 2005.
Try
[Các câu lệnh cần bắt lỗi]
Catch ex As [ Exception | ApplicationException ]
[Các thông báo lỗi ]
End Try
Public Function GetConnection() As SqlConnection
Try
Dim objCon As New SqlConnection(strConnect)
Return objCon
Catch ex As Exception 
MsgBox(ex.Message)
End Try
End Function
Bắt lỗi đơn giản:
18
35Windows Form programming with VB.Net 2005.
1. On Error Resume Next
Khi có lỗi bỏ CT qua dòng lỗi và sang dòng mới
2. On Error GoTo LabelName
Khi có lỗi chương trình sẽ bỏ qua tất cả các dòng 
sau dòng lệnh trên và nhảy tới nhãn (LabelName:) 
đã được chỉ định sau đó. VD:
Public Function PhanSo(ByVal tu As Integer, ByVal 
mau As Integer) As Double
On Error GoTo Loi
Return a / b
Loi:
MsgBox(Err.Description)
End Function
Bắt lỗi bằng On Error: (có 2 cách)
36Windows Form programming with VB.Net 2005.
- Hầu hết các control trong VB.Net đều có các thuộc 
tính (Properties) dùng cho việc thiết kết giao diện, 
nhưng chúng ta có thể thực hiện chúng trong lúc 
chạy chương trình (viết code thay vì design). 
- Chúng ta phải nắm bắt đặc điểm, chức năng của 
từng thuộc tính (Properties) của một control cụ thể 
như: ComboBox, TextBox, Button, ListBox, 
MenuStrip, ToolStrip….
- Tương tự mỗi một Control đều có các sự kiện 
(Event) chung và riêng biệt theo từng control của nó
(Đề nghị xem lại lý thuyết từ bài giảng buổi 2, 3, và 4 và
xem các thuộc tính chung và riêng của từng control)
Lập trình thuộc tính (Property) và tự kiện (Eevnt)
19
37Windows Form programming with VB.Net 2005.
Cách thức bắt Sự kiện: (tại giao diện code)
Chứa các đối tượng 
cần viết sự kiện
Chứa các sự kiện 
cần viết code
Chọn đối tượng trước, sau đó chọn sự kiện. (Đối tượng ở 
đây thường là các Name của các Control)
38Windows Form programming with VB.Net 2005.
Cách thức lập trình Sự kiện:
™Sau khi bắt sự kiện của các control thường xuất hiện 
các tham số mặc định là Sender và e và Hanhle
Private Sub TênĐiềuKhiển_SựKiện(ByVal sender As 
System.Object, ByVal e As System.EventArgs) 
Handles TênĐiềuKhiển.SựKiện
End Sub
¾ Sender: là tham số truyền chính đối tượng của 
control mà ta cần xử lý vào trong phần viết code
¾ e: là tham số truyền chính đối sự kiện (event ) của 
control mà ta cần viết vào
¾Theo sau từ Hanhle là chính sự kiện (event) cần xử lý

File đính kèm:

  • pdfBài giảng Lập trình ứng dụng Windows Form in VB.NET 2005 - Buổi 5_Kỹ thuật lập trình trong VB.NET.pdf