Method cascading là gì?
- ★
- ★
- ★
- ★
- ★
Trong lập trình hướng đối tượng (object-oriented programming), phân tầng phương thức (method cascading) là cú pháp (syntax) cho phép nhiều phương thức (method) được gọi trên cùng một đối tượng (object). Điều này đặc biệt được áp dụng trong các fluent interface.
Ví dụ trong Dart:
a..b()
..c();
Là tương đương với các lời gọi (call) riêng lẻ:
a.b();
a.c();
Phân tầng phương thức (method cascading) ít phổ biến hơn nhiều so với chuỗi phương thức (method chaining), nó chỉ được tìm thấy trong một số ít các ngôn ngữ hướng đối tượng (object-oriented language), trong khi chuỗi phương thức là rất phổ biến. Phân tầng phương thức có thể được thực hiện bằng cách sử dụng chuỗi phương thức (method chaining) bằng cách để phương thức trả về chính đối tượng hiện tại (sử dụng từ khóa this, self, Me).
Phân tầng phương thức (method cascading) là một syntactic sugar loại bỏ sự cần thiết phải liệt kê đối tượng lặp đi lặp lại. Điều này đặc biệt được sử dụng trong các fluent interface, có nhiều lời gọi phương thức (method call) trên một đối tượng duy nhất. Điều này đặc biệt hữu ích nếu đối tượng là giá trị của một biểu thức (expression) dài, vì nó loại bỏ nhu cầu liệt kê biểu thức lặp đi lặp lại hoặc sử dụng một biến tạm thời (temporary variable). Ví dụ: thay vì liệt kê lặp đi lặp lại một biểu thức:
a.b().c();
a.b().d();
Hoặc sử dụng một biến tạm thời:
n = a.b();
n.c();
n.d();
Phân tầng phương thức (method cascading) cho phép biểu thức được viết một lần và được sử dụng nhiều lần:
a.b()..c()
..d();
Learning English Everyday