Chương 4. Phương thức (Method)

Modules Lớp Các phương thức Dùng các lớp hay phương thức chỉ cần biết chúng làm được gì chứ không cần biết chúng làm thế nào Lớp thư viện Framwork .NET (FCL) Tăng khả năng sử dụng lại Console-Giao tiếp bàn phím và màn hình MessageBox- Hộp thoại

ppt31 trang | Chia sẻ: lylyngoc | Lượt xem: 1697 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chương 4. Phương thức (Method), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 4. Phương thức (Method) Outline 4.1 Phương thức – Methods 4.1.1. Module trong C# 4.1.2. Định nghĩa phương thức 4.1.3. Tại sao sử dụng phương thức 4.1.4. Ví dụ về các phương thức của lớp Math 4.2 Chuyển đổi đối số 4.2.1. Chuyển đổi tường minh 4.2.2. Chuyển đổi không tường minh 4.3 C# Namespaces 4.4 Tham trị và tham biến 4.5 Truyền theo tham trị và tham biến 4.6. Phạm vi 4.7 Đệ quy 4.7.1. Đệ quy 4.7.2. So sánh đệ quy và vòng lặp 4.8 Phương thức nạp chồng (Method Overloading) 4.1.1. Module trong C# Modules Lớp Các phương thức Dùng các lớp hay phương thức chỉ cần biết chúng làm được gì chứ không cần biết chúng làm thế nào Lớp thư viện Framwork .NET (FCL) Tăng khả năng sử dụng lại Console-Giao tiếp bàn phím và màn hình MessageBox- Hộp thoại Ta minh hoạ bằng sơ đồ: Ông chủ Công nhân 1 Công nhân 2 Công nhân 3 Công nhân 4 Công nhân 5 4.1.1. Module trong C# 4.1.2. Định nghĩa phương thức viết một phương thức Phần đầu ReturnType Properties Name( Param1, Param2, … ) Thân Chứa mã của phương thức Chứa giá trị trả về nếu cần thiết Được dùng ở một nơi khác trong chương trình bỏ dấu () nếu cần thiết Tất cả các phương thức phải được định nghĩa trong lớp 4.1.3. Tại sao sử dụng phương thức Thực hiện chính sách "chia để trị". Có thể được sử dụng lại ▪ Dùng các lớp và phương thức để xây dựng các đối tượng mới. Giảm việc lặp lại ▪ Phương thức có thể được gọi từ bất kỳ chỗ nào của chương trình. 4.1.4. Ví dụ về các phương thức của lớp Math Lớp phương thức Math Cho phép ta sử dụng các phép toán chung. Cách thức dùng ClassName.MethodName( argument1, arument2, … ) Hằng số Math.PI = 3.1415926535… Math.E = 2.7182818285… Enter first floating-point value: 37.3 Enter second floating-point value: 99.32 Enter third floating-point value: 27.1928   maximum is: 99.32 4.2 Chuyển đổi đối số 4.2.1.Chuyển đổi tường minh Đối tượng được chuyển đổi trực tiếp đến một dạng theo yêu cầu Chỉ được thực hiện khi chương trình dịch biết không có dữ liệu bị mất 4.2.2.Chuyển đổi không tường minh Đối tượng được chuyển đổi bằng tay Được yêu cầu khi có mất mát dữ liệu. Mở rộng Tạo một đối tượng của lớp dẫn xuất và phức tạp hơn Thu hẹp Tạo đối tượng của lớp cơ sở và dẫn đến mất dữ liệu BẢNG THĂNG CẤP BIẾN: 4.3 C# Namespaces Namespace Một nhóm các lớp có liên quan đến nhau và phương thức của chúng FCL được tạo thành từ các namespaces Namespaces được lưu trong các file .dll gọi là assemblies Danh sách các Namespace của .Net framwork được giới thiệu trong hình 4.3 Tất cả các lớp trong C# được cho trong thư viện của các Namespace Có từ khoá là using 4.3 C# Namespaces 4.4 Tham trị và tham biến Tham trị Gồm các dữ liệu có dạng xác định Người lập trình tạo ra struct enum Tham biến Chứa địa chỉ của điểm trỏ tới các dữ liệu Lập trình viên tạo ra Lớp Giao diện Hàm uỷ quyền 4.5.Truyền theo tham trị và tham biến Truyền theo tham trị Gửi tới phương thức một bản copy của đối tượng Luôn trả lại giá trị. Khởi tạo một giá trị mặc định Truyền theo tham biến Gửi tới phương thức điểm quy chiếu thật sự của đối tượng Do đó biến có thể bị thay đổi trong chương trình Hàm trả lại luôn ở dạng tham chiếu Từ khoá ref định nghĩa một tham chiếu Từ khoá out gọi tới một phương thức khi nó chưa khởi tạo giá trị ban đầu output 4.6. Phạm vi Phạm vi Là khoảng không gian tác dụng của biến trong chương trình Biến cục bộ Tạo ra khi được khai báo Bị huỷ khi thoát khỏi khối chương trình Không được khởi tạo Hầu hết các biến đều được đặt giá trị 0 Các biến bool đặt là false Các biến tham chiếu đặt là null 4.6. Phạm vi Trong phạm vi lớp Từ khi nó được định nghĩa trong lớp Đến khi kết thúc lớp (}) Chung cho tất cả các phương thức trong lớp đó Thay đổi trực tiếp Tên lặp lại làm tên cũ bị ẩn đến khi kết thúc chương trình. Trong phạm vi block Từ lúc được tạo ra Đến lúc hết block (}) Chỉ dùng trong block đó Phải truyền và thay đổi gián tiếp Không được nhắc lại tên biến 4.7.1. Đệ quy Phương thức đệ quy Phương thức tự gọi đến chính nó Trực tiếp Gián tiếp Gọi đến một phương thức khác mà phương thức này có lời gọi đến nó Chia nhỏ bài toán phức tạp thành các bài toán đơn giản Phải hội tụ đến trường hợp kết thúc đệ quy Mỗi phương thức gọi mở phần còn lại(chưa kết thúc) Hoàn thành mỗi lời gọi,sau đó hoàn thành chính nó Ví dụ 4.7.2.So sánh đệ quy và vòng lặp Lặp Dùng các cấu trúc lặp while, do/while, for, foreach Tiếp tục lặp cho đến khi điều kiện lặp bị sai Đệ quy Dùng cấu trúc đệ quy if, if/else, switch Lặp đi lặp lại trong suốt quá trinh gọi phương thức Tiếp tục cho tới khi đạt điều kiện cơ bản Tạo một bản sao của biến tiêu tốn bộ nhớ và tốc độ xử lý chậm 4.8 Phương thức nạp chồng (Method Overloading) Là các phương thức với cùng tên gọi Có thể có cùng tên nhưng cần các tham số khác nhau Tham số vào hoặc tham số ra phải khác nhau. Thường nhằm thực hiện cùng một nhiệm vụ Trên các kiểu dữ liệu khác nhau 1 // Invalid MethodOverload.cs 2 // Overloaded methods with identical signatures and 3 // different return types. 4 5 using System; 6 7 class MethodOverload2 8 { 9 public int Square( double x ) 10 { 11 return x * x; 12 } 13 14 // second Square method takes same number, 15 // order and type of arguments, error 16 public double Square( double y ) 17 { 18 return y * y; 19 } 20 21 // main entry point for application 22 static void Main() 23 { 24 int squareValue = 2; 25 Square( squareValue ); 26 } 27 28 } // end of class MethodOverload2
Tài liệu liên quan