Bài giảng Ngôn ngữ lập trình nâng cao - Bài 2.2: Phương thức - Nguyễn Xuân Hùng

Tham số có thể được truyền qua bằng các sử dụng các kiểu tham số sau: Giá trị (Value) Tham chiếu (Reference) Đầu ra (Output) Truyền giá trị là cơ chế mặc định cho truyền tham số trong C#. Truyền tham chiếu là ánh xạ tới vị trí bộ nhớ của dữ liệu thành viên. Truyền tham số đầu ra giống như truyền tham chiếu, ngoại trừ việc nó truyền dữ liệu ra ngoài phương thức không qua nó. Câu lệnh return được sử dụng để trả về điều khiển cho chương trình gọi

pdf27 trang | Chia sẻ: huongthu9 | Lượt xem: 355 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Ngôn ngữ lập trình nâng cao - Bài 2.2: Phương thức - Nguyễn Xuân Hùng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Slide 1 of 26Ver. 1.0 Object-Oriented Programming Using C# NGÔN NGỮ LẬP TRÌNH NÂNG CAO Slide 2 of 26Ver. 1.0 Object-Oriented Programming Using C# Nội dung: Định nghĩa trừu tượng (abstraction) và đóng gói (encapsulation) Thực thi đóng gói sử dụng phương thức truy cập Sử dụng phương thức (method). Mục tiêu Slide 3 of 26Ver. 1.0 Object-Oriented Programming Using C# Trừu tượng và đóng gọi là các đặc tính quan trọng của ngôn ngữ lập trình hướng đối tượng. Trừu tượng bao gồm trích xuất thông tin liên quan. Đóng gói bao gồm đóng gói một hoặc nhiều thành phần cùng nhau. Giới thiệu về trừu tượng và đóng gói Slide 4 of 26Ver. 1.0 Object-Oriented Programming Using C# Một người bán ô tô biết rằng sở thích của mỗi người là khác nhau. Một vài người quan tâm đến tốc độ, một vài người quan tâm đến giá, một vài quan tâm đến động cơ, trong khi một vài người quan tâm đến kiểu dáng của nó Mặc dù tất cả họ đều muốn ô tô nhưng mỗi người có mối quan tâm đến các đặc tính hay thuộc tính khác nhau. Người bán hàng biết chi tiết của một ô tô, nhưng họ chỉ trình bày thông tin liên quan cho khách khách tiềm năng. Kết quả là, Người bán hàng thực thi trừu tượng (abstraction) và chỉ trình bày những chi tiết liên quan cho khách hàng. Định nghĩa trừu tượng (Abstraction) Slide 5 of 26Ver. 1.0 Object-Oriented Programming Using C# Đóng gói (Encapsulation) theo nghĩa đen “để chứa đựng hoặc bao bọc”. Đóng gói (Encapsulation) được định nghĩa như quá trình bao bọc một hoặc nhiều mục bên trong một gói vật lý hoặc logic. Nó bao gồm việc ngăn chặn truy cập tới các chi tiết không cần thiết. Định nghĩa đóng gói (Encapsulation) Slide 6 of 26Ver. 1.0 Object-Oriented Programming Using C# Một phạm vi truy cập được định nghĩa như một phạm vi thành viên của lớp (class). Thành viên của lớp đề cập tới các biến và hàm trong một lớp (class). Một chương trình có thể có một hoặc nhiều lớp (class). Chúng ta có thể muốn một vài thành viên của một lớp được truy cập từ lớp khác. Nhưng, chúng ta có thể không muốn thành viên khác của lớp được truy cập từ bên ngoài lớp (class). Thực thi đóng gói (Encapsulation) sử dụng phạm vi truy cập Slide 7 of 26Ver. 1.0 Object-Oriented Programming Using C# C# cung cấp các phạm vi truy cập sau: public private protected internal protected internal Các kiểu phạm vi truy cập Slide 8 of 26Ver. 1.0 Object-Oriented Programming Using C# Vấn đề đặt ra: Viết một chương trình tính toán diện tích của hình chữ nhật và hình vuông với các cạnh được nhập vào từ bàn phím. Ví dụ: Tính toán diện tích và thể tích sử dụng phạm vi truy cập Slide 9 of 26Ver. 1.0 Object-Oriented Programming Using C# Một phương thức (method) là tập hợp một hoặc nhiều câu lệnh có thể được thực thi bằng cách gọi tên phương thức. Để sử dụng phương thức, chúng ta cần: Định nghĩa phương thức Gọi phương thức Sử dụng phương thức (Methods) Slide 10 of 26Ver. 1.0 Object-Oriented Programming Using C# Định nghĩa phương thức Định nghĩa một phương thức có nghĩa là khai báo các thành phần cấu trúc của nó. Cú pháp định nghĩa một phương thức: <Method Name>(Parameter List) { Method Body } Slide 11 of 26Ver. 1.0 Object-Oriented Programming Using C# Định nghĩa phương thức (tiếp) Các thành phần trong khai báo phương thức bao gồm tên phương thức, danh sách tham số, kiểu trả về và thân phương thức. Các thành phần của phương thức bao gồm: Phạm vi truy cập Kiểu trả về Tên phương thức Danh sách tham số Thân phương thức Chúng ta cùng tìm hiểu mỗi thành phần của khai báo phương thức. Slide 12 of 26Ver. 1.0 Object-Oriented Programming Using C# Điều này xác định phạm vi biến hoặc phương thức có thể truy cập từ class khác. Định nghĩa phương thức (tiếp) Định nghĩa phương thức nghĩa là khai báo các thành phần cấu trúc của nó. Xem xét cú pháp của định nghĩa phương thức: (Parameter List) { Method Body } Slide 13 of 26Ver. 1.0 Object-Oriented Programming Using C# Định nghĩa phương thức nghĩa là khai báo các thành phần cấu trúc của nó. Xem xét cú pháp của định nghĩa phương thức: (Parameter List) { Method Body } Một phương thức có thể trả về nhiều kiểu giá trị. Nếu phương thức không trả về giá trị, kiểu trả về sẽ là void. Định nghĩa phương thức (tiếp) Slide 14 of 26Ver. 1.0 Object-Oriented Programming Using C# Định nghĩa phương thức nghĩa là khai báo các thành phần cấu trúc của nó. Xem xét cú pháp của định nghĩa phương thức: (Parameter List) { Method Body } Tên phương thức là duy nhất và phân biệt hoa thường, nó không được cùng tên biến hoặc bất kỳ phương thức nào đã khai báo trong class. Định nghĩa phương thức (tiếp) Slide 15 of 26Ver. 1.0 Object-Oriented Programming Using C# Định nghĩa phương thức nghĩa là khai báo các thành phần cấu trúc của nó. Xem xét cú pháp của định nghĩa phương thức: (Parameter List) { Method Body } Danh sách tham số sử dụng để truyền và nhận dữ liệu từ phương thức. Nó nằm trong dấu ngoặc đơn và có thể không có tham số. Định nghĩa phương thức (tiếp) Slide 16 of 26Ver. 1.0 Object-Oriented Programming Using C# Định nghĩa phương thức nghĩa là khai báo các thành phần cấu trúc của nó. Xem xét cú pháp của định nghĩa phương thức: (Parameter List) { Method Body } Thân hàm chứa tập câu lệnh cần thiết để thực thi hành động yêu cầu. Định nghĩa phương thức (tiếp) Slide 17 of 26Ver. 1.0 Object-Oriented Programming Using C# Sau khi định nghĩa phương thức, chúng ta có thể thực thi nó bằng cách gọi nó. Chúng ta có thể gọi một phương thức sử dụng tên của phương thức. Tên phương thức đi cùng dấu đóng mở ngoặc đơn, nếu không có tham số phương thức được gọi như sau: MethodName(); Gọi phương thức Slide 18 of 26Ver. 1.0 Object-Oriented Programming Using C# Ví dụ minh họa cách gọi phương thức: using System; class Calculator { public int AddNumber(int num1, int num2) { int result; result = num1 + num2; return result; } static void Main(string[] args) Gọi phương thức (tiếp) Slide 19 of 26Ver. 1.0 Object-Oriented Programming Using C# { Calculator cal = new Calculator(); // The following statement is calling the // AddNumber method and passing 10 and // 20 as the parameter list. int value=cal.AddNumber(10, 20); Console.WriteLine("The result is {0}", value); Console.ReadLine(); } } Gọi phương thức (tiếp) Slide 20 of 26Ver. 1.0 Object-Oriented Programming Using C# Phương thức có thể được khai báo với các tham số. Xem xét một ví dụ khai báo phương thức với tham số: void DisplayResult (int result) { //.. } Khi phương thức được khai báo, nó sẽ được gọi cùng với tham số. Phương thức với tham số được gọi bằng cách truyền các giá trị sử dụng cơ chế sau: Giá trị (Value) Tham chiếu (Reference) Đầu ra (Output) Sử dụng phương thức với tham số Slide 21 of 26Ver. 1.0 Object-Oriented Programming Using C# Giá trị (Value): Tham số được truyền bằng giá trị tạo một bản sao chép trong ô nhớ. TVí dụ sau minh họa tham số được truyền bằng giá trị: void CalculateSum( int num1, int num2) { // } void Accept() { int val1=10; int val2=2; CalculateSum(val1,val2); } Sử dụng phương thức với tham số (tiếp) Slide 22 of 26Ver. 1.0 Object-Oriented Programming Using C# Tham chiếu (Reference): Tham số được truyền bởi tham chiếu không tạo bản sao chép của biến trong ô nhớ. Một tham số ánh xạ tới địa chỉ ô nhớ của dữ liệu được truyền. Ví dụ sau minh họa tham số truyền bằng tham chiếu: void CalculateSum( ref int num1,ref int num2) { // } void Accept() { int val1=10; int val2=2; CalculateSum( ref val1,ref val2); } Sử dụng phương thức với tham số (tiếp) Slide 23 of 26Ver. 1.0 Object-Oriented Programming Using C# Đầu ra (Output): Tham số đầu ra được sử dụng để truyền giá trị đầu ra cho phương thức. Ví dụ sau minh họa truyền tham số bằng đầu ra: void CalculateSum( ref int num1,ref int num2, out int result) { result=num1+num2; } void Accept() { int val1=10; int val2=2; int recieveVal; CalculateSum( ref val1,ref val2,out recieveVal); } Sử dụng phương thức với tham số (tiếp) Slide 24 of 26Ver. 1.0 Object-Oriented Programming Using C# Vấn đề đặt ra: Viết một phương thức cho phép đổi chỗ hai số sử dụng tham số kiểu tham chiếu. Viết hàm main để thử nghiệm hàm vừa viết với hai số được nhập vào từ bàn phím. Ví dụ: Đổi chỗ hai số sử dụng phương thức với tham số Slide 25 of 26Ver. 1.0 Object-Oriented Programming Using C# Trong bài này, chúng ta đã học: Trừu tượng là quá trình giảm nội dung thông tin theo đó chỉ có thông tin liên quan tới mục đích cụ thể. Đóng gói là quá trình ẩn tất cả chi tiết về đối tượng mà không liên quan tới các đặc tính cần thiết. Một phạm vi truy cập được sử dụng để xác định có bất kỳ class nào có thể truy cập phương thức và biến thành viên từ một lớp cụ thể hay không? Phạm vi truy cập public cho phép một lớp công khai biến và hàm thành viên cho một hàm và đối tượng của lớp khác Phạm vi truy cập private cho phép một lớp ẩn các biến và hàm thành viên từ các hàm và đối tượng của lớp khác. Tổng kết Slide 26 of 26Ver. 1.0 Object-Oriented Programming Using C# Phạm vi truy cập protected cho phép một lớp ẩn các biến và hàm thành viên từ các hàm và đối tượng của lớp khác, chỉ có lớp kế thừa mới có thể truy cập được. Một phương thức là một tập hợp một hoặc nhiều câu lệnh mà có thể được thực thi bằng cách gọi tên phương thức. Định nghĩa một phương thức có nghĩa là khai các các thành phần cấu trúc của nó. Phạm vi truy cập có thể được sử dụng với phương thức là: public, protected, internal, protected internal, and private. Trong một phương thức , tham số cho phép thông tin có thể được truyền vào và truyền ra ngoài. Khi chúng ta định nghĩa phương thức, chúng ta có thể bao gồm một danh sách tham số trong dấu ngoặc đơn. Tổng kết (tiếp) Slide 27 of 26Ver. 1.0 Object-Oriented Programming Using C# Tham số có thể được truyền qua bằng các sử dụng các kiểu tham số sau: Giá trị (Value) Tham chiếu (Reference) Đầu ra (Output) Truyền giá trị là cơ chế mặc định cho truyền tham số trong C#. Truyền tham chiếu là ánh xạ tới vị trí bộ nhớ của dữ liệu thành viên. Truyền tham số đầu ra giống như truyền tham chiếu, ngoại trừ việc nó truyền dữ liệu ra ngoài phương thức không qua nó. Câu lệnh return được sử dụng để trả về điều khiển cho chương trình gọi. Tổng kết (tiếp)

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_ngon_ngu_lap_trinh_nang_cao_bai_2_2_phuong_thuc_ng.pdf