1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

20 586 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 226,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHÁI NIỆM LỚPNhữ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.. TẠO MỘT LỚP MỚISử dụng từ khóa Class Class End Class TD: Khai báo

Trang 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)

Trang 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)

Trang 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ĩ

Trang 4

TẠO MỘT LỚP MỚI

Sử dụng từ khóa Class

Class <Tên lớp>

<Các thành viên của lớp>

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

Trang 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()

Trang 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

Trang 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

Trang 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

Trang 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)

Trang 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)

Trang 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)

Trang 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).

Trang 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

Trang 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

Trang 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()

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

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

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm