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
27 trang |
Chia sẻ: huongthu9 | Lượt xem: 455 | Lượt tải: 0
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:
- bai_giang_ngon_ngu_lap_trinh_nang_cao_bai_2_2_phuong_thuc_ng.pdf