Tầm vực sử dụng thủ tục trong VB

Một phần của tài liệu BÀI GIẢNG MÔN TIN HỌC-MÔN TIN HỌC (Trang 120)

I E= T*R

Tầm vực sử dụng thủ tục trong VB

‰ Trong mỗi standard module, ta có thểxácđịnh tầm vực sửdụng của từng thủ

tục :

ƒ cục bộtrong module : dùng từkhóa Private trong lệnhđịnh nghĩa thủtục. ƒ toàn cục trong chương trình : dùng từkhóa Public trong lệnhđịnh nghĩa thủ

tục.

‰ Trong mỗi form hay class module, ta có thểxácđịnh tầm vực sửdụng của từng thủtục :

ƒ cục bộtrong module (đối tượng) : dùng từkhóa Private trong lệnhđịnh nghĩa thủtục.

ƒ cục bộtrong Project : dùng từkhóa Friend trong lệnhđịnh nghĩa thủtục. ƒ công cộng (ai dùng cũngđược) : dùng từkhóa Public trong lệnhđịnh nghĩa

thủtục. Các thủtục công cộng củađối tượngđược gọi là method đểphân biệt với Sub/Function.

ƒ Vềnguyên tắc, các thủtục Property Get, Set và Let đều phải có tầm vực công cộng (dùng từkhóa Public).

Chương 9 : Định nghĩa thủtục & sửdụng

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 240

9.2 Cú pháp định nghĩa hàm - Function

‰ Cú phápđể định nghĩa 1 hàm :

[Public | Private | Friend] [Static] Functionname[(arglist)] [Astype] [statements] [name=expression] [Exit Function] [statements] [name=expression] End Function

‰ Dùng từkhóaPublicđể định nghĩa hàm có tầm vực toàn cục, nghĩa là bất kỳlệnh nào của chương trìnhđều có thểgọi hàm Public.

‰ Dùng từkhóaFriendđể định nghĩa method thuộc 1 class module nhưng chỉcó tầm vực cục bộtrong Project, nghĩa là chỉcó các lệnh trong cùng Project mới có thểgởi thôngđiệpđến hàm Friend củađối tượngđó, còn các lệnhởngoài Project thì không thấy hàm Friend củađối tượng này.

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 241

Cú pháp định nghĩa hàm - Function (tt)

‰ Dùng từkhóaPrivateđể định nghĩa hàm có tầm vực cục bộtrong module, nghĩa là chỉcó các lệnh trong cùng module mới có thểgọi hàm Private trong module tươngứng.

‰ Dùng từkhóaStaticđể định nghĩa các biến cục bộtrong hàmđều là Static, nghĩa là giá trịcủa chúng vẫn tồn tại qua các lần gọi khác nhau đến hàm này.

‰ [statements]là danh sách các lệnhđịnh nghĩa biến, hằng, kiểu cục bộ trong function và các lệnh thực thi miêu tảchính xác chức năng của hàm.

‰ Lệnh gánname= expressioncho phép gán giá trịtrảvềcho lệnh gọi hàm.

‰ LệnhExit Functioncho phép trảngayđiều khiển vềlệnh gọi hàm này (thay vì thực thi tiếp các lệnh còn lại của hàm).

Chương 9 : Định nghĩa thủtục & sửdụng

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 242

Cú pháp định nghĩa hàm - Function (tt)

‰ arglist là danh sách các tham sốhình thức, mỗi tham số được cách nhau bởi dấu ',' vàđượcđịnh nghĩa theo cú pháp nhưsau :

[Optional] [ByVal| ByRef] [ParamArray] varname[( )] [Astype] [=defaultvalue]

‰ Dùng từkhóaOptionalđểkhai báo rằng tham sốtươngứng là nhiệm ý trong lúc gọi hàm : truyền hay không cũngđược. Trong trường hợp này ta nên dùng thêm thành phần [=defaultvalue] đểxácđịnh giá trịcần truyền nhiệm ý.

‰ Dùng từkhóaByRefđểkhai báo việc truyền tham sốbằng tham khảo, đây là chế độtruyền tham sốnhiệm ý. Ngược lại dùng từkhóaByValđể khai báo cơchếtruyền tham sốbằng giá trị.

‰ Chỉcó thểdùng từkhóaParamArraycho tham sốcuối trong danh sách tham số, tham sốnày cho phép ta truyền bao nhiêu tham sốcụthểcũng được.

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 243

Thí dụ định nghĩa hàm

‰ Đoạn code sauđịnh nghĩa hàm tính n! giai thừa theo giải thuậtđệqui :

Public Function giaithua(ByVal n As Long) As Long If n <= 0 Then ' nếu n <=0 thì trảvề-1 giaithua = -1 Exit Function End If If n = 1 Then ' nếu n = 1 thì trảvềkết quảlà 1 giaithua = 1 Exit Function End If ' Nếu n > 1 thì tính theo công thức n! = n * (n-1)! giaithua = n * giaithua(n - 1) End Function Chương 9 : Định nghĩa thủtục & sửdụng

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 244

9.3 Cú pháp định nghĩa th tc - Sub

‰ Cú phápđể định nghĩa 1 thủtục Sub :

[Private| Public| Friend] [Static] Subname[(arglist)] [statements]

[Exit Sub] [statements]

End Sub

‰ Ý nghĩa của các từkhóaPublic, Private, Friend, Static cũng nhưcác thành phầnarglist, Exit Sub, statementsgiống y nhưtrong việcđịnh nghĩa hàm mà chúng tađã giới thiệuởnhững slide trước.

‰ Sựkhác biệt giữa hàm và thủtục là hàm luôn trảvềgiá trịkết hợp với tên hàm, còn thủtục thì không trảvềtrịkết hợp với tên thủtục (nhưng nó vẫn có thểtrảkết quảvềthông qua các tham sốtruyền bằng tham khảo).

‰ Nếu quan sát kỹ, ta thấy các hàm xửlý sựkiện cho cácđối tượng giao diệnđều là Sub, chứkhông phải là Function, do đó từ đây ta dùngđoạn câu "thủtục xửlý sựkiện" thay cho "hàm xửlý sựkiện".

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 245

Một phần của tài liệu BÀI GIẢNG MÔN TIN HỌC-MÔN TIN HỌC (Trang 120)

Tải bản đầy đủ (PDF)

(175 trang)