intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng VB.net - Chương 5: Lập trình hướng đối tượng với VB.Net

Chia sẻ: Phạm Hoàng Nhi | Ngày: | Loại File: PPT | Số trang:0

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

Mời các bạn cùng tham khảo nội dung Bài giảng VB.net - Chương 5: Lập trình hướng đối tượng với VB.Net dưới đây sẽ trang bị cho các bạn các kiến thức về khái niệm lớp, tạo đối tượng từ lớp, phương thức xây dựng hàm khởi tạo, phương thức hủy, thừa kế - ghi đè phương thức.

Chủ đề:
Lưu

Nội dung Text: Bài giảng VB.net - Chương 5: Lập trình hướng đối tượng với VB.Net

  1. Chương V: Lập Trình Hướng Đối  Tượng với VB.NET •Lớp (Class) •Đối tượng (Object) •Thuộc tính (Properties) •Đa hình (Polymorphism) •Thừa kế (Inheritance) •Giao diện (Interface)
  2. KHÁI NIỆM LỚP Những thuộc tính và hành động chung của các thực thể được nhóm lại để tạo nên 1 đơn vị duy nhất là lớp. TD: Lớp Con người có các thuộc tính và hành động sau: ­ Tên ­ Chiều cao ­ Màu tóc. ­ Nói năng ­ Viết …. Những thuộc tính và hành động chung gọi là thành viên (member)
  3. KHÁI NIỆM ĐỐI TƯỢNG Một đối tượng là một trường hợp cụ thể của một lớp. TD: Đối tượng 1 con người thực tế của lớp Con người: ­ Tên: Đan Tú ­ Tuổi: 29 ­ Trọng lượng: 46 kg Hành động: ­ Đi ­ Nói ­ Suy nghĩ
  4. TẠO MỘT LỚP MỚI Sử dụng từ khóa Class Class  End Class TD: Khai báo lớp Person Class Person Public Name As String Public Age As Integer Public Weight As Single End Class
  5. TẠO ĐỐI TƯỢNG TỪ LỚP Việc tạo 1 đối tượng chính là khai báo và khởi tạo biến đối tượng từ lớp. TD: Tạo đối tượng p thuộc lớp Person C1: Dim p As Person p = New Person() C2: Dim p As New Person()
  6. PHƯƠNG THỨC XÂY DỰNG( HÀM KHỞI TẠO ) Là phương thức được gọi thực hiện đầu tiên mỗi khi 1 đối tượng của 1 lớp được tạo ra. Trong VB.NET, phương thức xây dựng luôn là Sub New() TD: Class Person Public Name As String Public Age As Integer Public Weight As Single Public Sub New() ‘ Phương thức xây dựng Name =“” Age = 0 Weight = 0 End Sub End Class
  7. PHƯƠNG THỨC HỦY Là phương thức được gọi thực hiện cuối cùng khi đối tượng bị  thu hồi. Phương thức này có nhiệm vụ giải phóng tài nguyên được  dùng cho đối tượng. Trong VB.NET, phương thức này phải là Overrides Sub Finalize() TD: Class Person … Protected Overrides Sub Finalize() ‘ Thu hồi các thuộc tính Name = “” End Sub End Class
  8. THUỘC TÍNH (PROPERTIES) Thuộc tính là những đặc trưng của các đối tượng của 1 lớp. Thuộc tính có thể được tạo nhờ: ­ Từ khóa Public. ­ Phương thức Property. VD: Lớp Con người (Person) Class Person Public strName As String Public iAge As Integer Public iWeight As Integer End Class Với cách truy cập Public , thuộc tính có thể được truy xuất không giới hạn.
  9. Nếu ta muốn hạn chế truy cập, ta có thể sử dụng từ khóa Private (data hiding). Trong VD trên, ta có thể định nghĩa thuộc tính Name: Private strName As String Public Property Name() As String Set (ByVal value As String) strName = Value End Set Get Name = strName End Get End Property THUỘC TÍNH (PROPERTIES)
  10. Khối Set: gán giá trị cho thuộc tính. Khối Get: lấy giá trị của thuộc tính. Thuộc tính chỉ đọc (ReadOnly ): khai báo khối Get (không có khối Set) hay có thể khai báo cách tường minh trong khối Get nhờ từ khóa ReadOnly . VD: Thuộc tính tuổi của lớp Con người là chỉ đọc. Private iAge As Integer Public ReadOnly Property Age() As Integer Get Age = iAge End Get End Property THUỘC TÍ NH (PROPERTIES)
  11. Thuộc tính chỉ ghi (WriteOnly ): khai báo khối Set (không có khối Get) hay có thể khai báo cách tường minh trong khối Set nhờ từ khóa WriteOnly . VD: Trọng lượng của lớp Con người là chỉ ghi. Private iAge As Integer Public WriteOnly Property Weight () As Integer Set (ByVal value As Integer) iAge = Value End Set End Property THUỘC TÍ NH (PROPERTIES)
  12. ĐA HÌNH (POLY MORPHISM) Đa hình: Khả năng các phương thức có cùng một tên nhưng các tham số của chúng là khác nhau. Nạp chồng phương thức (method overload): khai báo nhiều phương thức có cùng một tên (khác tham số) trong một lớp. Khi định nghĩa các phương thức này, ta sử dụng từ khóa Overloads. VD: Tạo lớp Điểm trong không gian 2 chiều gồm 2 thuộc tính là tọa độ X & tọa độ Y. ­ 2 phương thức xây dựng: một không có tham số (gán X, Y, là 0), một có tham số (cặp (X1,Y1) có sẵn để gán cho X,Y). ­ Phương thức hiển thị tọa độ của điểm lên màn h.nh. ­ 2 phương thức tính khoảng cách từ điểm hiện thời đến 1 điểm khác, một không tham số (tinh kc đến gốc tọa độ), một có tham số là một điểm khác (tính kc đến điểm này).
  13. Class Point Private iX As Integer Private iY As Integer Public Property X() As Integer Get X = iX End Get Set(ByVal Value As Integer) iX = Value End Set End Property Public Property Y() As Integer Get Y = iY End Get Set(ByVal Value As Integer) iY = Value End Set End Property
  14. Public Sub New() Me.X = 0 Me.Y = 0 End Sub Public Sub New(ByVal X1 As Int eger, ByVal Y1 As Integer) Me.X = X1 Me.Y = Y1 End Sub Public Sub Display() WriteLine("({0},{1})", Me.X, Me.Y) End Sub Public Overloads Function Distance() As Single Return Sqrt(Me.X ^ 2 + Me.Y ^ 2) End Function
  15. Public Overloads Function_  Distance(ByVal p As Point) As Single Return Sqrt((Me.X ­ p.X) ^ 2 + (Me.Y ­ p.Y) ^ 2) End Function End Class ‘ Kết thúc ĐN lớp Point ‘ Hàm main Sub Main() Dim p1, p2 As Point p1 = New Point(2, 2) p2 = New Point WriteLine("Toa do p1 la ({0},{1})", p1.X, p1.Y) WriteLine("Toa do p2 la ({0},{1})", p2.X, p2.Y) p1.Display() p2.Display()
  16. WriteLine("Khoang cach p1 & p2: {0}", p1.Distance(p2)) WriteLine("Khoang cach p1 & goc _ toa do: {0}", p1.Distance()) ReadLine() End Sub Lưu ý: ­ Sử dụng không gian tên: System.Console & System.Math. ­ Đối với phương thức xây dựng, để nạp chồng ta không được đặt từ khóa Overloads.
  17. THỪA KẾ (INHERITANCE) Thừa kế là khả năng một lớp (lớp con) thừa hưởng những thuộc  tính & các hành động từ 1 lớp đã có (lớp cha). VB.NET không hỗ trợ đa thừa kế. Sử dụng từ khóa Inherits khi định nghĩa lớp con. VD: Thiết kế lớp điểm trong không gian 3 chiều thừa kế từ lớp  điểm trong kg 2 chiều. Class Point3D Inherits Point ' Thừa kế từ lớp Point Private iZ As Integer Public Property Z() As Integer Get Z = iZ End Get Set(ByVal Value As Integer) iZ = Value End Set End Property End Class
  18. THỪA KẾ ­ GHI ĐÈ PHƯƠNG THỨC Lớp con có thể ghi đè các phương thức của lớp cha. Phương thức của lớp cha phải sử dụng từ khóa Overridable , phương thức của lớp con sử dụng từ khóa Overrides. Từ khóa MyBase : truy xuất các thuộc tính hay phương thức của lớp cha từ lớp con. VD: Lớp điểm trong kg 3 chiều cần ghi đè phương thức hiển thị tọa độ điểm lên màn hình. Public Sub New () MyBase.New() Me.Z = 0 End Sub Public Sub New (ByVal x1 As Integer, ByVal y1 As Integer ,ByVal z1 As Integer) MyBase .New(X1, Y1) Me.Z = z1 End Sub Public Overrides Sub Display() WriteLine("Toa do p1 la  ({0},{1},{2})", Me.X, Me.Y,Me.Z) End Sub
  19. Sub Main () Dim p1, p2 As Point3D p1 = New Point3D(1, 2, 3) p1.Display() p2 = New Point3D p2.Display() End Sub Kết quả chương trình THỪA KẾ ­ GHI ĐÈ PHƯƠNG THỨC
  20. GIAO DIỆN ­ INTERFACE Nếu một lớp cần thể hiện tính đa thừa kế, ta sử dụng giao diện (Interface ). Giao diện có các thuộc tính & các phương thức riêng, tuy nhiên chúng không có mã lệnh để cài đặt. Lớp sử dụng giao diện cần phải cài đặt (Implements) các phương thức đã định nghĩa trong giao diện. VD: Public Interface Interface1 Sub A() Function B(ByVal C As Integer) As Integer End Interface Class Tool Implements Interface1 Public Sub A() Implements Interface1.A ‘Cài đặt A End Sub … End Class
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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