intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:31

70
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. HÀM (Phương Thức) 11/27/15  
  2. 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 11/27/15  
  3. 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 11/27/15  
  4. Khai báo 1 “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  
  5. 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) {…….} 11/27/15  
  6. 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 11/27/15  
  7. 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 11/27/15  
  8. Ví dụ : static string MySubStr(string s, int pos, int length) { string rs=""; for (int i=1,j=pos;i
  9. 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 11/27/15  
  10. 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  
  11. Chuyển theo tham chiếu(Passing by reference) 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  
  12. 11/27/15  
  13. 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  
  14. 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  
  15. Hàm/phương thức tham số thay  đổi Trong 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 đổi Lư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  
  16. 11/27/15  
  17. Ví dụ :VariableParams.cs static double AddList(params double[ ] L) { double result=0; for(int i=0;i
  18. Ví dụ :VariableParams2.cs static void Average(out double avg, params int[ ] mark) { int sum=0; for(int i=0;i
  19. 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ối 11/27/15  
  20. Phạm vi truy xuất biế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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2