Danh mục

Bài giảng Cơ sở lập trình Csharp: Bài 6 - Hàm (phương thức)

Số trang: 31      Loại file: ppt      Dung lượng: 291.50 KB      Lượt xem: 18      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 19,000 VND Tải xuống file đầy đủ (31 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Cơ sở lập trình Csharp: Bài 6 - Hàm (phương thức) trình bày về mục đích sử dụng phương thức; khai báo 1 “hàm”; chuyển theo tham chiếu(Passing by reference); hàm/phương thc tham số thay đổi; Overload hàm/phương thức; phương thức đệ quy; đệ qui cho giải thuật n.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở lập trình Csharp: Bài 6 - Hàm (phương thức) HÀM (Phương Thức)11/27/15 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ĩa11/27/15 Mụcđíchsửdụngphươngthứ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ình11/27/15 Khaibáo1“hàm” Phần tiêu đề [static] [phạm vi] < 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)11/27/15 Mộtsốđề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) {…….}11/27/15 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 sau11/27/15 Khaibáobiếntrong “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ác11/27/15 Vídụ: static string MySubStr(string s, int pos, int length) { string rs=; for (int i=1,j=pos;iChuyểnthamsốcho1phươngthứ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òai11/27/15 Vídụ static void test (int k , string s) { k++; s=s + s; k 12 abc s return; } static void call ( ) {int i =12; 12 i test (i ,”abc”) ; } …...11/27/15 Chuyểntheothamchiếu(Passingbyreference) Gửi tham chiếu đến phương thức (có 2 cách) Sử dụng từ khóa ref để qui định chuyển theo tham chiếu (nhưng phải cấp phát vùng nhớ trước) Tác động đến biến bên ngòai Có thể xem tương đương VAR hoặc Sử dụng từ khóa out (không cần cấp phát vùng nhớ) Trong “hàm” phải thực hiện việc cấp phát vùng nhớ11/27/15 11/27/15 Vídụ: using System; class Vidu2_8 { static void TestRef (ref int i, float f) { i++;f++; return;} static public void Main() {int k=5; float g =12.5f; TestRef(ref k,g); // phải có từ khóa ref Console.WriteLine( k = {0} , g = {1} ,k,g); }}11/27/15 Vídụ: static void TestOut (out int i, out float f) { //i++; SAI : việc cấp phát i và f thực hiện trong hàm này i=5; f=6; return; } static public void Main() { int k=5; float g; TestOut(out k,out g); Console.WriteLine( k = {0} , g = {1} ,k,g); }11/27/15 Hàm/phươngthứcthamsốthay đổiTrong nhiều trường hợp, có khả năng 1 phương thức không biết trước số lượng tham số sẽ đưộc gửi đến nóC# cho phép thiết kế các phương thức có tham số thay đổiLưu ý :- Với tham số thay đổi, ta thường khai báo ở dạng 1 mảng (array)- Có thể sử dụng foreach hay for với kích thước mảng để xử lý các tham số11/27/15 11/27/15 Vídụ:VariableParams.cs static double AddList(params double[ ] L) { double result=0; for(int i=0;iVídụ:VariableParams2.cs static void Average(out double avg, params int[ ] mark) { int sum=0; for(int i=0;i Lưuý Thời gian tồn tại (Duration) Thời gian mà biến tồn tại trong bộ nhớ Phạm vi (Scope) Phạm vi chương trình có thể truy xuất biến Biến địa phương(Local variables) Tạo ra khi khai báo Bị xóa bỏ khi ra khỏi khối11/27/15 PhạmvitruyxuấtbiếnPhạm vi của 1 biến là khu vực của chương trình có thể truy xuất đến biến này.Phạm vi khối - Block scope Từ vị trí khai báo Cho đến cuối khối Chỉ được phép sử dụng trong khối  Không thể truy xuất từ bên ngòai Không thể trùng lặp tên biến trong khối Nhắc lại : không khai báo biến bên ngoài “hàm” cho tới lúc này !!!11/27/15 ...

Tài liệu được xem nhiều: