intTypePromotion=1
ADSENSE

Bài giảng Lập trình ứng dụng Visualbasic: Bài 5 - Phạm Đình Sắc

Chia sẻ: Phạm Hồng Phương | Ngày: | Loại File: PDF | Số trang:19

74
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình ứng dụng Visualbasic bài 5: Kỹ thuật lập trình trong VB.Net trình bày về hàm - thủ tục, khái niệm lập trình hướng đối tượng, lập trình theo sự kiện, lập trình thuộc tính, bắt lỗi trong lập trình.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình ứng dụng Visualbasic: Bài 5 - Phạm Đình Sắc

  1. 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) Windows Form programming with VB.Net 2005. 1 Hàm (Function) [Public, Protected, Private] Function _ [(Danh sách các tham số)] AS _ [Handles eventlist] [Khai báo biến thuộc tầm vực của hàm] [Các câu lệnh …] [Exit Fucntion] Return End Fucntion - Một Hàm là dãy các câu lệnh để thực thi một công việc, một chức năng đặc thù nào đó - Hàm được gọi để thi hành thông qua tên thủ tục - Hàm thường có giá trị trả về Windows Form programming with VB.Net 2005. 2 1
  2. VD: Hàm Private Function Max(ByVal a As Integer, ByVal _ b As Integer) As Integer If a > b Then Return a Else Return b End If End Function Dim C as Integer C = Max(a,b) Windows Form programming with VB.Net 2005. 3 Thủ tục (Procedure) [Public, Protected, Private] Sub _ [(Danh sách các tham số)] [Handles eventlist] [Khai báo biến thuộc tầm vực của thủ tục] [Các câu lệnh …] [Exit Sub] End Sub - Chức năng của thủ tục giống như Hàm, nhưng Thủ tục không có giá trị trả về Windows Form programming with VB.Net 2005. 4 2
  3. Private Sub bntAn_Click(.. , ..) Handles bntAn.Click AnGioiTinh() End Sub Windows Form programming with VB.Net 2005. 5 VD: Thủ tục Private Sub AnGioiTinh() Dim rdb As RadioButton For Each Ctrl As Control In GroupBox1.Controls On Error Resume Next ' Có lỗi bỏ qua rdb = CType(Ctrl , RadioButton) ' chuyển kiểu rdb.Visible = False Next GroupBox1.Text = "Sở thích:“ End Sub Windows Form programming with VB.Net 2005. 6 3
  4. VD: Hàm trả về 1 đối tượng Command Public Function GetCommand() As OleDbCommand Dim cn As New OleDbConnection Dim cmd As New OleDbCommand Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\QLNhanSu.mdb" Source=D:\ cn.ConnectionString = strConnection cn.Open() cmd.CommandType = CommandType.StoredProcedure cmd.CommandText = “sp_NhanVien” cmd.Connection = cn return cmd End Function Windows Form programming with VB.Net 2005. 7 VD: DataAdapter & Fill cho DataTable public function GetDataTable() as DataTable etD ataT able() ataT Dim da As New OleDbDataAdapter() Dim tb As New DataTable() DataTable() Try ‘ Cmd đối tượng đã được khai báo & khởi tạo Tr y đ ố tượ đượ bá khở tạ da.SelectCommand = Cmd da.SelectCommand ‘ = GetCommand() da.Fill(tb) Return tb Catch ex As Exception MsgBox(ex.Message) Return Nothing End Try End Function Windows Form programming with VB.Net 2005. 8 4
  5. VD: DataAdapter & Fill cho DataSet Public Function GetDataSet() as DataSet GetDataSet() ataSet Dim da As New OleDbDataAdapter() Dim ds As New DataSet() DataSet() Try ‘ Cmd đối tượng đã được khai báo & khởi tạo đố tượ đượ bá khở tạ da.SelectCommand = Cmd da.SelectCommand ‘ = GetCommand() da.Fill(ds) ‘da.Fill(ds, “TableName”) da.Fill(ds) da.Fill(ds, TableName” Return ds Catch ex As Exception MsgBox(ex.Message) Return Nothing End Try End Function Windows Form programming with VB.Net 2005. 9 Public Function GetDataReader(ByVal StoreProceureName As String, Optional ByVal arrParams() As String = Nothing, Optional ByVal arrValues() As Object = Nothing) As OleDbDataReader Dim rd As OleDbDataReader Dim cmd As New OleDbCommand cmd = me.GetCommand() If Not (arrParams Is Nothing) Then For nIndex As Integer = 0 To (arrParams.Length - 1) cmd.Parameters.AddWithValue(arrParams(nIndex), arrValues(nIndex)) Next End If rd = cmd.ExecuteReader() Return rd ‘cmd.ExecuteReader() End Function Windows Form programming with VB.Net 2005. 10 5
  6. Lập trình hướng đối tượng Lập trình hướng đối tượng là gì? Trong thế giới thực, đối tượng là thực thể tồn tại như con người, xe, máy tính, v.v… Trong ngôn ngữ lập trình, đối tượng có thể là màn hình, mouse, các control v.v… Lập trình hướng đối tượng là kiểu lập trình nhằm vào sự tương tác giữa các đối tượng Một đối tượng có các đặc điểm sau: - Những thuộc tính: xác định các đặc điểm của đối tượng - Những phương thức:x/định các chức năng của đối tượng - Các sự kiện phát sinh khi thay đổi thuộc tính, thực hiện một phương thức hay bị đối tượng khác tác động vào Windows Form programming with VB.Net 2005. 11 Đặc điểm trong Lập trình hướng đối tượng: Abstraction: Tính trừu tượng Encapsulation: Tính bao bọc (đóng gói) Inheritance: Tính kế thừa Polymorphism: Tính đa hình Windows Form programming with VB.Net 2005. 12 6
  7. Abstraction: Tính trừu tượng Trong thế giới thực tồn tại các đối tượng có cùng các thuộc tính cần quản lý như: Nhân viên, sinh viên, hàng hóa… MaSV HoTen NgaySinh Ví dụ: A001 Lê Văn A 1/1/1979 A002 TrầnVăn B 1/6/1979 Từ những đối tượng có các thuộc tính giống nhau, ta trừu tượng hóa thành một lớp đối tượng Ví dụ: từ hai đối tượng trên ta trừu tượng hóa thành lớp (class) SinhVien có các thuộc tính: . MaSV . HoTen . NgaySinh Windows Form programming with VB.Net 2005. 13 Encapsulation: Tính bao bọc Có thể gọi các phương thức của các đối tượng để thực hiện mà không quan tâm bên trong các phương thức này có các lệnh xử lý nào Chỉ quan tâm đến dữ liệu đầu vào và kết quả trả về của phương thức Khi ta chỉnh sửa lại các xử lý trong phương thức mà không chỉ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 Windows Form programming with VB.Net 2005. 14 7
  8. Inheritance: Tính kế thừa 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. Windows Form programming with VB.Net 2005. 15 Polymorphism: Tính đa hình (3 hình thức) 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 Windows Form programming with VB.Net 2005. 16 8
  9. Lập trình hướng đối tượng trong VB.NET 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 Windows Form programming with VB.Net 2005. 17 Cấu trúc của một Class [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] Windows Form programming with VB.Net 2005. 18 9
  10. Imports System Ví dụ class CSDL: 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 hú thứ 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 hú thứ lấ kế nố End Class ‘ Kết thúc class DataLayers thú End Namespace ‘ Kết thúc name space của class DataLayers thú củ Windows Form programming with VB.Net 2005. 19 Imports không gian tên (Namespace) : .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 Windows Form programming with VB.Net 2005. 20 10
  11. Từ khóa của lớp: 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. Windows Form programming with VB.Net 2005. 21 Khai báo một lớp con kế thừa từ lớp cha : 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 Windows Form programming with VB.Net 2005. 22 11
  12. Từ khóa của phương thức: 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. Windows Form programming with VB.Net 2005. 23 Phương thức khởi tạo (Constractor): Là 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 Trong 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: Thuộ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. Ứ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ị. Windows Form programming with VB.Net 2005. 24 12
  13. Public Class CPhanSo ' các thuộc tính cá thuộ tí Private Tu As Integer Private Mau As Integer ' Phương thức thiết lập mặc định Phương thứ thiế lậ mặ đị Public Sub New() Tu = 0 Mau = 1 End Sub ' Phương thức thiết lập khi biết tử và mẫu Phương thứ thiế lậ biế tử Public Sub New(ByVal t As Integer, ByVal m As Integer) New(ByVal Tu = t Mau = m End Sub End Class Windows Form programming with VB.Net 2005. 25 Truy cập thuộc tính ta dùng cấu trúc Get - Set: ' 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 Windows Form programming with VB.Net 2005. 26 13
  14. Vd: khai báo thuộc tính 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 Windows Form programming with VB.Net 2005. 27 Property HoTen() As Integer Get Return strHoTen End Get Set(ByVal sHoTen As Integer) strHoTen = sHoTen End Set End Property Windows Form programming with VB.Net 2005. 28 14
  15. 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 Windows Form programming with VB.Net 2005. 29 Từ khóa Me 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 Windows Form programming with VB.Net 2005. 30 15
  16. Từ khóa Mybase Mybase: được dùng trong Class kế thừa, khi muốn dùng các đượ dù kế thừ muố dù cá phương thức của Class Cha (class cơ sở); VD: thứ củ sở VD: Public Class Xe Public sub Chay()
  17. Bắt lỗi trong lập trình: Try [ tryStatements ] [ Exit Try ] [ Catch [ exception [ As type ] ] [ When expression ] [ catchStatements ] [ Exit Try ] ] [ Catch ... ] [ Finally [ finallyStatements ] ] End Try Windows Form programming with VB.Net 2005. 33 Bắt lỗi đơn giản: 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 Windows Form programming with VB.Net 2005. 34 17
  18. Bắt lỗi bằng On Error: (có 2 cách) 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 Windows Form programming with VB.Net 2005. 35 Lập trình thuộc tính (Property) và tự kiện (Eevnt) - 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) Windows Form programming with VB.Net 2005. 36 18
  19. Cách thức bắt Sự kiện: (tại giao diện code) Chứa các đối tượng Chứa các sự kiện cần viết 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) Windows Form programming with VB.Net 2005. 37 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ý Windows Form programming with VB.Net 2005. 38 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2