Hãy để tôi hỏi bạn một câu hỏi.
Điều gì xảy ra nếu hàm hello này thực sự nhận một tham số?
Giả sử một chuỗi.
Hoặc một lời chào.
Và một lời chào sẽ được in ở đây.
Hãy tạm biệt ngay bây giờ.
Điều này sẽ vẫn hoạt động nếu tôi chạy?
Xin chào?
Tạm dừng video và suy nghĩ về nó.
Hãy cùng tìm hiểu.
Không.
Đó là một lỗi.
Nếu bạn có thể thử tạm dừng video ở đây và xem liệu bạn có thể giải quyết được vấn đề này hay không, thì làm cách nào để chúng tôi có thể đưa ra đối số cho phép điều này?
Tôi thấy điều đó ở dòng năm ngay tại đây.
Nó nói dòng năm.
Xin chào thiếu một lời chào đối số vị trí bắt buộc vì khi chúng tôi thực sự gọi xin chào, chúng tôi đang mong
đợi có một tham số.
Nhưng ở đây chúng tôi không đưa ra bất kỳ lý lẽ nào.
Làm thế nào chúng ta có thể giải quyết điều này?
Chà, có một cách là chỉ cần nói đơn giản.
Tham lam, phải không?
Hoặc chúng ta có thể nói bất cứ điều gì chúng ta muốn.
Chúng ta có thể nói X và sau đó là điều này.
Hàm Wrapper nhận tham số.
Vì vậy, nếu tôi nhấp vào Chạy.
Hừ!
Dòng 13 hiện đang cho tôi một lỗi, vì bây giờ chúng ta cần thực sự đưa ra lời chào, vì
vậy hãy nói xin chào nếu tôi nhấp vào Chạy.
Được rồi.
Những công việc này.
Và tôi hy vọng điều này có ý nghĩa.
Đúng.
Chúng tôi đang gọi.
Xin chào.
Với.
Chào.
Vì vậy, chức năng này.
Xin chào đã qua.
Sau đó chúng tôi?
Nhận là đối số x đúng.
Hãy nhớ bên dưới mui xe, người trang trí của tôi đang nói một người trang trí bằng với người trang trí của tôi.
Và xin chào.
Đúng.
Vì vậy, tất cả những gì chúng tôi đang làm là chạy trình trang trí của tôi.
Xin chào?
Mà bây giờ chuyển thành chức năng rap của họ.
Và khi chúng ta thực hiện hàm rapt, A, chúng ta cung cấp cho nó một đối số là cao.
Vì vậy, hàm rapt chấp nhận tham số này và sau đó chạy hàm.
Xin chào.
Nhưng đây là câu hỏi điều gì xảy ra nếu một lời chào cũng có một biểu tượng cảm xúc mà nó chấp nhận?
Vì vậy, chúng tôi đang in, lời chào và sau đó là biểu tượng cảm xúc.
Hừ!
Chúng ta làm gì?
À, một lần nữa, chúng ta sẽ phải tạo một tham số khác và sau đó là một tham số khác, và ở đây, hãy gọi
nó bằng một hình mặt cười.
Nếu tôi bấm Chạy.
Chà, đây phải là một chuỗi.
Nếu tôi bấm Chạy.
Điều này hoạt động, nhưng điều này rất bận rộn mỗi khi tôi cần thay đổi các thông số.
Chà, tôi phải sửa đổi điều này.
Và điều gì sẽ xảy ra nếu chúng ta có các đối số từ khóa như.
Mặc định.
Chào.
Thực sự có một mô hình ở đây mà chúng ta có thể sử dụng để biến mọi thứ trở nên thực sự, thực sự đơn giản đối với chúng ta.
Và tất cả những gì chúng ta làm là chúng ta thực hiện các vòng cung sao, mà chúng ta đã thấy, lấy tất cả các
đối số vị trí, sau đó đánh dấu sao cho các cung từ khóa có dấu sao, lấy tất cả các đối số từ khóa và chúng ta gọi hàm bằng.
Vòng cung sao Singh để giải nén tất cả các đối số vị trí và vòng cung từ khóa dấu sao sao để giải nén tất cả các
đối số từ khóa.
Bây giờ, nếu điều này có vẻ khó hiểu, đừng lo lắng.
Đây chỉ là một mẫu mà bạn có thể chỉ cần sao chép và dán và ghi nhớ.
Nhưng bây giờ hãy kiểm tra điều này.
Tôi có thể làm biểu tượng cảm xúc bằng, giả sử, khuôn mặt buồn.
Như một đối số từ khóa.
Và bây giờ nếu tôi chỉ cần vượt qua.
Chào.
Như thế này và nhấn chạy.
Và chúng ta cũng hãy loại bỏ điều này.
Vì chúng tôi không cần nó, chúng tôi sẽ gọi hello đúng vì chúng tôi có trình trang trí và sau đó nhấp vào chạy.
Nhìn kìa.
Tôi ngẩng cao đầu với khuôn mặt buồn bã.
Bây giờ, lý do nó được gọi là decorator, bởi vì nó là một mẫu nổi tiếng trong lập trình.
Nó được gọi là mẫu trang trí.
Và đây là mẫu trang trí.
Nó cung cấp cho trình trang trí của chúng tôi sự linh hoạt để chúng tôi có thể truyền bao nhiêu đối số tùy thích vào hàm rapt của mình
bằng cách sử dụng các cung sao và cung từ khóa, sau đó giải nén chúng như thế này bên trong một hàm.
Và cú pháp này, giả sử nếu chúng ta thậm chí không có câu lệnh in, thì cú pháp này là lý do tại sao trình trang trí lại
mạnh mẽ đến vậy.
Chỉ bằng cách sử dụng những dòng mã này, chúng tôi có thể thêm chức năng bằng cách sử dụng mẫu trang trí để trang trí các chức năng
của chúng tôi.
Và các mẫu trang trí được sử dụng trong quá trình lập trình.
Vì vậy, nó là một khái niệm rất, rất mạnh mẽ.
Để kết thúc bài học về Decorator.
Tôi muốn nói chuyện với bạn về một số cách mà trình trang trí có thể hữu ích và một số vị trí phổ biến mà chúng ta sẽ thấy
các mẫu trình trang trí trong mã của chúng tôi và chúng tôi sẽ xây dựng trình trang trí hiệu suất của riêng mình
để có thể để cho chúng tôi biết các chức năng của chúng tôi hoạt động như thế nào, tốc độ của chúng.
Và tôi hứa với bạn, đến cuối cùng, trình trang trí video sẽ có ý nghĩa đối với bạn và bạn sẽ có
thể giải thích cho người khác và bạn bè khác tại sao chúng ta nên sử dụng trình trang trí trong các chương trình của mình.
Tôi sẽ gặp bạn trong đó.
Tạm biệt.