Những chức năng Đối Tượng mới của VB.NET (phần II) - Pdf 62

Các bài tập Microsoft .NET 68
Bài 5
Những chức năng Đối Tượng mới của VB.NET
(phần II)
Dùng OO trong VB.NET
Tạo một Class mới
Class Keyword
Trong một .vb file ta có thể viết nhiều Classes, code của mỗi Class nằm
trong một Class ... End Class block. Thí dụ:
Public Class TheClass
Public Sub Greeting()
MessageBox.Show("Hello world", MsgBoxStyle.Information, "TheClass")
End Sub
End Class
MessageBox.Show và MsgBoxStyle.Information trong VB.NET thay thế
MsgBox và vbInformation trong VB6.
Classes và Namespaces
Nhắc lại là .NET dùng Namespace để sắp đặt các Classes cho thứ tự theo
nhóm, loại. Namespaces được declared với một Block Structure giống
như sau:
Namespace Vovisoft
Public Class TheClass
Public Sub Greeting()
MessageBox.Show("Hello world", MsgBoxStyle.Information, "TheClass")
End Sub
End Class
End Namespace
Các bài tập Microsoft .NET 69
Muốn nói đến bất cứ Class, Structure, hay thứ gì được declared bên trong
một Namespace...End Namespace block ta phải dùng tên Namespace
trước. Thí dụ:

khai ra rõ ràng.
Nhắc lại là khi một variable được passed vào trong một method bằng
ByVal thì system cho method đó một copy (bản sao) của variable, do đó,
trị số của variable không bị thay đổi bởi công tác của method. Ngược lại,
nếu một variable được passed vào trong một method bằng ByRef thì
method dùng chính variable đó, do đó, trị số của variable có thể bị thay
đổi bởi công tác của method.
Ta có thể giới hạn việc sử dụng một method bằng cách áp đặt một Access
Modifier (sửa đổi quyền truy nhập) hay còn gọi là Scoping keyword
(phạm vi hoạt động):

Private - chỉ cho phép code trong cùng Class được
gọi.

Friend - chỉ cho phép code trong cùng
project/component được gọi.

Public - cho phép ai gọi cũng được.

Protected - cho phép code trong subclasses (classes
con, cháu) được gọi.

Protected Friend - cho phép code trong cùng
project/component hay code trong subclasses được
gọi.
Tạo ra Properties
Trong VB.NET ta chỉ dùng một routine duy nhất cho mỗi Property, với
hai chữ Get và Set như sau (không còn dùng chữ Let của VB6 nữa):
Private mdescription As String
Public Property Description() As String

Trong VB6 khi ta dùng keyword Set với tên của Object, thí dụ như:
Dim myTextBox As Textbox
Các bài tập Microsoft .NET 72
Set myTextBox = TextBox1
program sẽ hiểu là ta muốn nói đến chính Object myTextBox . Nếu
không thì nó biết ta muốn nói đến Object Default Property mà làm biếng
code cho rõ ra.
Trong VB.NET Default Property phải là một Property array. Một
Property array là một property được Indexed (nói đến từng Item bằng
con số Index) giống như một array. Lý do chính của sự bắt buộc này là để
khỏi lẫn lộn giữa hai trường hợp ta nói đến Default property của một
Object hay chính Object ấy, vì trong VB.NET ta không còn dùng Set
keyword cho Object assignment nữa (ta chỉ còn dùng keyword Set trong
Property mà thôi).
Bây giờ hễ muốn nói đến Default Property của Object thì phải dùng
Index. Thí dụ để nói đến chính Object, ta code:
myValue = myObject
để nói đến Default Property Item 3 của Object, ta code:
myValue = myObject(3)
Sự thay đổi từ VB6 này có nghĩa là một property array procedure phải
nhận một parameter. Thí dụ:
Private theData(100) As String
Default Public Property Data(ByVal Index As Integer) As String
Get
Data = theData(Index)
End Get
Set(ByVal Value As String)
theData(Index) = Value
End Set
End Property


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status