Bài giảng VB net chương 5 lập trình hướng đối tượng với VB net

20 584 0
Bài giảng VB net   chương 5  lập trình hướng đối tượng với VB net

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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) KHÁI NIỆM LỚP Những thuộc tính hành động chung thực thể nhóm lại để tạo nên đơn vị lớp TD: Lớp Con người có thuộc tính hành động sau: - Tên - Chiều cao - Màu tóc - Nói - Viết … Những thuộc tính hành động chung gọi thành viên (member) KHÁI NIỆM ĐỐI TƯỢNG Một đối tượng trường hợp cụ thể lớp TD: Đối tượng người thực tế 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ĩ 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 TẠO ĐỐI TƯỢNG TỪ LỚP Việc tạo đối tượng khai báo 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() PHƯƠNG THỨC XÂY DỰNG( HÀM KHỞI TẠO ) Là phương thức gọi thực đối tượng lớp tạo Trong VB.NET, phương thức xây dựng 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 = Weight = End Sub End Class PHƯƠNG THỨC HỦY Là phương thức gọi thực cuối đối tượng bị thu hồi Phương thức có nhiệm vụ giải phóng tài nguyên dùng cho đối tượng Trong VB.NET, phương thức phải Overrides Sub Finalize() TD: Class Person … Protected Overrides Sub Finalize() ‘ Thu hồi thuộc tính Name = “” End Sub End Class THUỘC TÍNH (PROPERTIES) Thuộc tính đặc trưng đối tượng lớp Thuộc tính 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 truy xuất không giới hạn Nếu ta muốn hạn chế truy cập, ta sử dụng từ khóa Private (data hiding) Trong VD trên, ta đị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) Khối Set: gán giá trị cho thuộc tính Khối Get: lấy giá trị thuộc tính Thuộc tính đọc (ReadOnly ): khai báo khối Get (không có khối Set) hay khai báo cách tường minh khối Get nhờ từ khóa ReadOnly VD: Thuộc tính tuổi lớp Con người đọc Private iAge As Integer Public ReadOnly Property Age() As Integer Get Age = iAge End Get End Property THUỘC TÍ NH (PROPERTIES) Thuộc tính ghi (WriteOnly ): khai báo khối Set (không có khối Get) hay khai báo cách tường minh khối Set nhờ từ khóa WriteOnly VD: Trọng lượng lớp Con người 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) ĐA HÌNH (POLY MORPHISM) Đa hình: Khả phương thức có tên tham số chúng khác Nạp chồng phương thức (method overload): khai báo nhiều phương thức có tên (khác tham số) lớp Khi định nghĩa phương thức này, ta sử dụng từ khóa Overloads VD: Tạo lớp Điểm không gian chiều gồm thuộc tính tọa độ X & tọa độ Y - phương thức xây dựng: tham số (gán X, Y, 0), có tham số (cặp (X1,Y1) có sẵn để gán cho X,Y) - Phương thức hiển thị tọa độ điểm lên h.nh - phương thức tính khoảng cách từ điểm thời đến điểm khác, không tham số (tinh kc đến gốc tọa độ), có tham số điểm khác (tính kc đến điểm này) 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 Public Sub New() Me.X = Me.Y = 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 ^ + Me.Y ^ 2) End Function Public Overloads Function_ Distance(ByVal p As Point) As Single Return Sqrt((Me.X - p.X) ^ + (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 p1 la ({0},{1})", p1.X, p1.Y) WriteLine("Toa p2 la ({0},{1})", p2.X, p2.Y) p1.Display() p2.Display() 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 đặt từ khóa Overloads THỪA KẾ (INHERITANCE) Thừa kế khả lớp (lớp con) thừa hưởng thuộc tính & hành động từ lớp có (lớp cha) VB.NET không hỗ trợ đa thừa kế Sử dụng từ khóa Inherits định nghĩa lớp VD: Thiết kế lớp điểm không gian chiều thừa kế từ lớp điểm kg 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 THỪA KẾ - GHI ĐÈ PHƯƠNG THỨC Lớp ghi đè phương thức lớp cha Phương thức lớp cha phải sử dụng từ khóa Overridable , phương thức lớp sử dụng từ khóa Overrides Từ khóa MyBase : truy xuất thuộc tính hay phương thức lớp cha từ lớp VD: Lớp điểm kg chiều cần ghi đè phương thức hiển thị tọa độ điểm lên hình Public Sub New () MyBase.New() Me.Z = 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 p1 la ({0},{1},{2})", Me.X, Me.Y,Me.Z) End Sub Sub Main () Dim p1, p2 As Point3D p1 = New Point3D(1, 2, 3) p1.Display() p2 = New Point3D p2.Display() End Sub Kết chương trình THỪA KẾ - GHI ĐÈ PHƯƠNG THỨC GIAO DIỆN - INTERFACE Nếu lớp cần thể tính đa thừa kế, ta sử dụng giao diện (Interface ) Giao diện có thuộc tính & phương thức riêng, nhiên chúng mã lệnh để cài đặt Lớp sử dụng giao diện cần phải cài đặt (Implements) phương thức định nghĩa 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 [...]... 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 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... Sub Display() WriteLine("Toa do p1 la ({0},{1},{2})", Me.X, Me.Y,Me.Z) End Sub 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 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 ... Age As Integer Public Weight As Single End Class TẠO ĐỐI TƯỢNG TỪ LỚP Việc tạo đối tượng khai báo 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... … Những thuộc tính hành động chung gọi thành viên (member) KHÁI NIỆM ĐỐI TƯỢNG Một đối tượng trường hợp cụ thể lớp TD: Đối tượng người thực tế lớp Con người: - Tên: Đan Tú - Tuổi: 29 - Trọng lượng:... Class PHƯƠNG THỨC HỦY Là phương thức gọi thực cuối đối tượng bị thu hồi Phương thức có nhiệm vụ giải phóng tài nguyên dùng cho đối tượng Trong VB. NET, phương thức phải Overrides Sub Finalize() TD:

Ngày đăng: 03/12/2015, 14:40

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan