Rate this post

Trong Dart, typedef được sử dụng để tạo một bí danh cho kiểu hàm mà chúng ta có thể sử dụng nó làm chú thích kiểu để khai báo các biến và kiểu trả về của kiểu hàm đó. Một bí danh của kiểu hàm có thể được sử dụng làm chú thích kiểu trong khai báo biến hoặc kiểu trả về hàm. Typedef lưu trữ thông tin kiểu khi chúng ta gán kiểu hàm cho một biến.

Các bài viết liên quan:

Khai báo typedef

Từ khóa typedef được sử dụng để tạo bí danh cho hàm sẽ giống với các hàm thực tế. Chúng ta cũng có thể tạo một nguyên mẫu hàm với một danh sách các tham số. Cú pháp được đưa ra dưới đây.

Cú pháp:

typedef function_name(parameters)   

Ví dụ

Hãy tạo một bí danh của MultiOperation (int n1, int n2) chứa hai tham số kiểu số nguyên.

typedef MultiOperation ( int  n1,  int  n2);   // chữ ký hàm  

Gán biến typedef

Chúng ta có thể gán bất kỳ hàm nào có cùng tham số cho biến typedef. Cú pháp được đưa ra dưới đây.

Cú pháp:

type_def var_name = function_name;  

Hãy hiểu ví dụ sau, trong đó chúng ta xác định hai hàm có cùng một chữ ký như MultiOperation .

Sum(int n1, int n2) {  
      print("Sum of the two number:${n1+n2}");  
}  
Sub(int n1, intn2 ) {  
      print("Subtraction of the two number:${n1-n2}");  
   
}  

Chức năng gọi với typedef

Chúng ta có thể gọi hàm bằng cách truyền cùng một tham số bằng cách sử dụng biến typdef . Cú pháp được đưa ra dưới đây.

Cú pháp:

var_name(parameter);  

Ví dụ:

MultiOperation mp;  
mp = Sum;  
mp(20,10);  
mp = Sub;  
mp(30,20);  

Mp là một biến typedef, có thể được sử dụng để tham chiếu bất kỳ phương thức nào chấp nhận hai tham số nguyên . Tham chiếu hàm có thể được switch trong thời gian chạy bằng cách sử dụng typedefs.

Hoàn thành chương trình bằng typedef

Hãy xem ví dụ sau.

typedef MultiOperation ( int  num1,  int  num2);  // chữ ký hàm typedef  
Sum ( int  n1,  int  n2) {  
      print ( "Tính tổng của hai số: ${n1 + n2}" );  
}  
Sub ( int  n1,  int  n2) {  
      print ( "Phép trừ hai số: ${n1-n2}" );  
   
}  
  
void  main () {  
MultiOperation mp = Sum;  
print ( "Ví dụ về Dart typedef" );  
  
mp ( 20 , 10 );  
mp = Sub;  
mp ( 30 , 20 );  
}  

Giải trình:

Trong đoạn mã trên, chúng tôi đã tạo bí danh của hàm MultiOperation () bằng cách sử dụng từ khóa typedef . Chúng tôi đã định nghĩa thêm hai hàm Sum ()Sub (), có cùng chữ ký với hàm typedef.

Sau đó, chúng tôi gán biến typedef mp tham chiếu đến cả hai hàm Sum () hàm và Sub () . Bây giờ, chúng ta đã gọi hàm bằng cách truyền đối số bắt buộc và nó in kết quả ra màn hình.

Typedef dưới dạng tham số

Chúng ta có thể sử dụng phương thức typedef như một tham số. Trong ví dụ sau, chúng ta đang tạo một hàm bổ sung cho chương trình trên NumericOperaion (int n1, int n2, MultiOperation mp) với hai biến số nguyên và typedef ManyOperation mp làm tham số của nó.

Ví dụ

typedef MultiOperation ( int num1, int num2); // chữ ký hàm typedef  
Sum ( int n1,int n2) {
  print ( "Tính tổng của hai số: ${n1 + n2}" );
}
Sub ( int n1, int n2) {
  print ( "Phép trừ hai số: ${n1-n2}" );
}
NumericOperation ( int n1, int n2, MultiOperation mp) {
print ( "Thao tác bên trong" );
mp (n1, n2);
} 
void main(List<String> arguments) {
print ( "Ví dụ về Dart typedef" );
NumericOperation ( 20 , 10 , Sum);
NumericOperation ( 20 , 10 , Sub);
}

Trong đoạn mã trên, chúng ta không cần tạo biến typedef để tham chiếu đến từng phương thức; chúng ta vừa gọi hàm NumericOperation () bằng cách chuyển giá trị bắt buộc và biến typedef mp . Nó thực hiện các hoạt động đã cho và in ra kết quả.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now