Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
291,5 KB
Nội dung
05/09/14 HÀM(PhươngThức) 05/09/14 Lưu Ý Trong C/C++, các hàm (function) có thể thiết kế ngòai các lớp Trong C#, các hàm phải nằm trong 1 lớp gọi là phương thức Trong phần này, ta sẽ gọi là phương thức hay hàm : đều có cùng 1 nghĩa 05/09/14 Mục đích sử dụng phương thức -Chia và Trị (Divide & Conquer) -Sử dụng lại (Reusability) Dùng lại các lớp và phương thức để xây dựng các ứng dụng mới -Giảm sự lặp lại Các phương thức có thể gọi thi hành từ bất kỳ nơi đâu trong chương trình 05/09/14 Khai báo 1 “hàm” Phần tiêu đề [static] [phạm vi] <Kiểu kết quả > < Tên Hàm > ( Danh sách tham số) Phần thân Chứa các mã lệnh mà phương thức thi hành Trả về kết quả sau khi thực hiện (bằng phát biểu return) 05/09/14 Một số đề nghị Tạm thời khai báo các “hàm” với từ khóa static Trong phạm vi môn học, có thể khai báo “hàm” là public hay không tuỳ ý !!! Ví dụ có các khai báo “hàm” static void Test ( ) { … } static public int Exam (int k) {…. } static string MyStr( char c) {…….} 05/09/14 Ví dụ khaí báo “hàm” static void Test() { …. } static int Exam(int x) { …. } static string Dummy (string s, float f) {… } static float ViDu ( ) { } Lưu ý : Nếu không có static thông báo lỗi Sẽ giải thích vào buổi sau 05/09/14 Khai báo biến trong “hàm” Biến (Variables) Khai báo trong 1 phương thức = biến địa phương/cục bộ Chỉ có phương thức chứa khai báo biến mới có thể truy cập nó Sử dụng p/pháp gửi tham số nhằm giao tiếp với cá phương thức khác 05/09/14 Ví dụ : static string MySubStr(string s, int pos, int length) { string rs=""; for (int i=1,j=pos;i<=length;i++,pos++) rs=rs+s[pos]; return rs; } static public void Main() { string str="This is the second lesson !!!"; Console.WriteLine(MySubStr(str,8,10)); } 05/09/14 Chuyển tham số cho 1 phương thức Chuyển theo giá trị (Passing by value) -Gửi 1 bản sao giá trị cho phương thức -Ngầm định là chuyển theo giá trị -Không tác động đến biến bên ngòai 05/09/14 Ví dụ static void test (int k , string s) { k++; s=s + s; return; } static void call ( ) {int i =12; test (i ,”abc”) ; } … abc 12 12 i k s [...]... về -Số lượng tham số -Thứ tự tham số -Kiểu dữ liệu của tham số -Kiểu truyền tham số Ưu điểm -Cùng 1 tên hàm/ phương thức cho nhiều xử lý trên các kiểu dữ liệu khác nhau -Cơ sở cho OOP: hàm xây dựng,đa hình,… 05/09/14 Lưu Ý Kết quả trả về khác nhau không phải là cơ sở cho việc thiết kế overloading hàm/ phương thức Ví dụ int Test(float x) {……} string Test(float y) {… } //Sai vì trùng float Test() {… }... Nhắc lại : không khai báo biến bên ngoài hàm cho tới lúc này !!! 05/09/14 Lưu Ý : Kết quả trả về có thể là 1 mảng static int[ ] Test(int k) { int[ ] rs = new int[k]; for(int i=0;i