Quá tải là đưa ra các định nghĩa khác nhau cho một phương thức hoặc chức năng ở những vị trí khác nhau. e. , phương thức sẽ hoạt động khác nhưng có cùng tên
Quá tải phương thức, ưu tiên quy tắc DRY [Don't Repeat Yourself], theo dự phòng mã, khả năng sử dụng lại. Quá tải tránh sự phức tạp trong mã và cải thiện độ rõ của mã
Sau khi hiểu Nạp chồng trong python là gì, bây giờ chúng ta hãy xem nạp chồng toán tử trong python là gì cùng với các chương trình ví dụ
Quá tải toán tử với các ví dụ
Trong python, toán tử hoạt động khác nhau dựa trên loại đối tượng, đây cũng là một loại đa hình, nhưng là quá tải toán tử
Ví dụ
+ [toán tử] tính tổng hai số hoặc nối hai hoặc nhiều hơn trong trường hợp chuỗi
>> 3+3
6
>> ‘3’+’3′
33
* nhân hai số hoặc lặp đối tượng trong trường hợp sử dụng giữa các chuỗi
>> 3*3
9
>> ‘3’*3
333
Sau khi hiểu Nạp chồng toán tử trong python là gì, bây giờ chúng ta hãy xem cách nạp chồng một phương thức trong python cùng với một chương trình ví dụ
Cách nạp chồng phương thức trong Python
Trong python, bạn có thể quá tải cùng một phương thức hoặc hàm được xác định ở một vị trí, với số lượng đối số khác hoặc không có đối số trong khi sử dụng cùng một tên ở các vị trí khác nhau. Quá trình này được gọi là quá tải phương thức
Chương trình Ví dụ Nạp chồng Phương thức
hạng xe
thuộc tính def [bản thân, tên = Không]
nếu tên không phải là Không có
print['Đây là tên mới' + tên]
khác.
print['Xe chưa sang tên. ’]
# Tạo ví dụ
obj = Xe[]
# Gọi phương thức không tham số
đối tượng. tính chất[]
Kết quả đầu ra của chương trình trên
Xe chưa sang tên
Bây giờ nếu chúng ta cố gắng truyền một đối số cho đối tượng cho cùng chức năng
# Gọi phương thức có tham số
đối tượng. thuộc tính ['FITA']
Và nó xuất ra…
Đây là FITA
Hãy xem toàn bộ Khóa học Python trực tuyến này của FITA. FITA cung cấp một khóa học Python hoàn chỉnh bao gồm tất cả các khái niệm cơ bản và nâng cao về python, bao gồm xử lý ngoại lệ, biểu thức chính quy, cùng với việc xây dựng các dự án thời gian thực như Bitly và Twitter với Django, đi kèm với hỗ trợ vị trí và chứng nhận với mức giá phải chăng với một
Sau khi hiểu cách Nạp chồng một phương thức trong python, bây giờ chúng ta hãy xem phương thức ghi đè phương thức trong python là gì cùng với một chương trình ví dụ
Ghi đè phương thức
Ghi đè phương thức là khi bạn đang sử dụng cùng một tên phương thức và cùng một số đối số trong các lớp và thường là trong trường hợp kế thừa
Giả sử bạn muốn giảm giá khác nhau cho khách hàng thường xuyên và khách hàng không thường xuyên của mình vì khách hàng thường xuyên biết rõ giá trước đây của bạn và rất giỏi trong việc mặc cả, mặc dù bạn có thể thuyết phục khách hàng không thường xuyên với mức chiết khấu ít hơn
Đây là một mã đơn giản sẽ có cùng chức năng nhưng tỷ lệ chiết khấu khác nhau,
# Chương trình ví dụ về ghi đè phương thức
lớp khách hàng bình thường
def __init__[bản thân, tên, mặt hàng, giá, số lượng]
bản thân. tên = tên
bản thân. mục = mục
bản thân. giá = giá
bản thân. số lượng = số lượng
giảm giá chắc chắn [bản thân]
tự trở về. giá * 0. 3
lớp Khách hàng không thường xuyên [Khách hàng thường xuyên]
def __init__[bản thân, tên, mặt hàng, giá, số lượng]
siêu[]. __init__[tên, mặt hàng, giá, số lượng]
giảm giá chắc chắn [bản thân]
tự trở về. giá * 0. 1
# giao diện chung
def cal_discount[đối tượng]
z = đối tượng. chiết khấu[]
in[f'{đối tượng. name}\'s chiết khấu sẽ là {z}']
in[f'{đối tượng. final[]} là giá cuối cùng của bạn’]
Chương trình trên có hai lớp khác nhau Khách hàng thường xuyên và Khách hàng thỉnh thoảng. Phương thức __init__ còn được gọi là phương thức dunder hoặc ma thuật là phương thức khởi tạo cho lớp và khởi tạo các thuộc tính sẽ được sử dụng trong lớp
Phương thức tính phí super[] và các lớp con khởi tạo tất cả các thuộc tính được truyền và tất cả các phương thức của lớp cơ sở vào lớp con
Phương thức chiết khấu được định nghĩa ở trên dành cho khách hàng thường xuyên tính toán chiết khấu 30 phần trăm, trong khi nó đã được định nghĩa lại trong lớp con để trả về chiết khấu 10 phần trăm. Đây là phương pháp ghi đè, nếu chúng tôi không xác định lại phương pháp chiết khấu, nó sẽ tính chiết khấu 30 phần trăm cho cả hai loại khách hàng
Bây giờ hãy kiểm tra chương trình bằng cách tạo các đối tượng của lớp này và gọi các phương thức,
cus_1 = Khách hàng thường xuyên[‘Atufa’, ‘shoes’, 600, 1]
cus_2 = Khách hàng không thường xuyên[‘Shireen’, ‘shoes’, 600, 1]
# chuyển các đối tượng đến giao diện chung
in[cal_discount[cus_1]]
in[cal_discount[cus_2]]
Chương trình trên sẽ xuất ra
Giảm giá của Atufa sẽ là 180. 0
Giảm giá của Shireen sẽ là 60. 0
Bây giờ, hãy thêm một phương pháp nữa sẽ cho chúng ta giá cuối cùng của chương trình
Chỉ thêm phương thức này trong lớp cơ sở và bạn sẽ ổn
cuối cùng chắc chắn [bản thân]
trở lại [tự. giá – bản thân. giảm giá[]] * tự. số lượng
Điều này bây giờ sẽ xuất ra như sau
Giảm giá của Atufa sẽ là 180. 0
420. 0 là giá cuối cùng của Atufa
Giảm giá của Shireen sẽ là 60. 0
540. 0 là giá cuối cùng của Shireen
Bây giờ bạn có thể rời khỏi chức năng in đầu tiên để xem giảm giá và để lại cho chương trình của bạn
Bạn có thể tìm thấy mã hoàn chỉnh này tại tài khoản Github của tôi ở đây
Đây là tất cả về nạp chồng phương thức và ghi đè phương thức là gì và cách triển khai nó cùng với các chương trình ví dụ. Để có kiến thức chuyên sâu về Python cùng với các ứng dụng khác nhau và các dự án thời gian thực, bạn có thể đăng ký Khóa đào tạo Python ở Chennai hoặc Khóa học Python ở Bangalore của FITA bao gồm tất cả các khái niệm cơ bản và nâng cao về python bao gồm xử lý ngoại lệ, biểu thức chính quy,