Phương thức hỗ trợ python có quá tải và ghi đè không?
Vì vậy, bạn đang viết một chương trình mà bạn cần nhân một số hai số đã cho. Bạn muốn viết một hàm/phương thức cho nó, để tăng tính dễ đọc. Dễ dàng, bạn tạo một hàm nhân hai số Show
Nhưng sau đó trong chương trình, bạn nhận ra rằng bạn cũng cần nhân 3 số. Hoặc thậm chí có thể đi xa hơn, bạn cần một hàm có thể nhân bất kỳ số lượng đối số nào đã cho Chà, nếu bạn nhìn từ góc độ của người dùng, họ có thể muốn nhân hai số, hoặc có thể là 3 hoặc 4, v.v. Thậm chí có thể xảy ra trường hợp tại một thời điểm bạn không chỉ muốn nhân hai số, mà thậm chí có thể là hai số thực hoặc một số thực và một số. Bây giờ hãy để tôi cung cấp cho bạn hai lựa chọn. Đầu tiên, là tạo nhiều hàm như - multi_two (nhân 2 số), multi_three (nhân 3 số), multi_four (nhân 4 số), multi_float (nhân nhiều số float), v.v. hoặc bạn có thể chỉ tạo một hàm Điều gì có vẻ giống như một lựa chọn thuận tiện hơn? . Tại sao bạn muốn nhớ tất cả các tên chức năng khác nhau. Hoặc, đối với vấn đề đó, tại sao bạn lại muốn tạo nhiều hàm như vậy với các tên khác nhau ngay từ đầu Bây giờ bạn có thể hỏi, điều đó có khả thi không? . Nó được gọi là nạp chồng phương thức Quá tải phương thức là gì?Như chúng ta đã đọc ở trên, bạn không cần tạo nhiều hàm thực hiện cùng một công việc chỉ vì bạn có một bộ tham số khác nhau hoặc các tham số khác nhau hoàn toàn Bạn muốn làm điều này
Để quá tải thành công một phương thức, điều quan trọng là các phương thức phải có cùng tên. Ví dụ: bạn muốn tính diện tích của các hình dạng khác nhau và với mỗi hình dạng, bạn có các kiểu dữ liệu khác nhau để lưu trữ kích thước của chúng (như kiểu dữ liệu Circle để lưu bán kính hoặc kiểu dữ liệu Square để lưu cạnh hoặc kiểu dữ liệu Rect Đây là cách mã của bạn có thể trông như thế nào (giả sử rằng các kiểu dữ liệu trên đã được xác định) Mã này không có trong python, chỉ là một định nghĩa hàm chung được viết để đưa ra ý tưởng về cách quá tải phương thức có thể trông như thế nào
Ở đó. Bây giờ bạn đã biết tất cả về nạp chồng phương thức trong Python. Hãy tóm tắt tất cả các điểm được thảo luận trong bài viết Có thể nạp chồng và ghi đè phương thức trong Python không?Python không hỗ trợ nạp chồng phương thức . Ghi đè phương thức là định nghĩa lại một phương thức của lớp cha trong lớp dẫn xuất. Ghi đè yêu cầu kế thừa để thực hiện.
Quá tải phương thức có được phép trong Python không?Giống như các ngôn ngữ khác (ví dụ: nạp chồng phương thức trong C++), python không hỗ trợ nạp chồng phương thức theo mặc định . Nhưng có nhiều cách khác nhau để nạp chồng phương thức trong Python. Vấn đề nạp chồng phương thức trong Python là chúng ta có thể nạp chồng phương thức nhưng chỉ có thể sử dụng phương thức được xác định mới nhất.
Là phương pháp ghi đè trong Python?Ghi đè phương thức trong Python là một khái niệm OOP liên quan chặt chẽ đến tính kế thừa. Khi một phương thức của lớp con ghi đè (hoặc, cung cấp triển khai của chính nó) phương thức của lớp cha có cùng tên, tham số và kiểu trả về, nó được gọi là ghi đè phương thức
Tại sao Python không hỗ trợ quá tải phương thức?Khi bộ thực thi gặp một hàm khác có cùng tên, bộ thực thi sẽ cập nhật mục nhập trong không gian tên cục bộ và do đó loại bỏ khả năng hai hàm cùng tồn tại . Do đó python không hỗ trợ Nạp chồng hàm. |