Cách đạt được quá tải phương thức trong Python

Chúng ta đã học về ghi đè phương thức trong hướng dẫn Python - Method Overriding. Vui lòng kiểm tra xem

Nạp chồng phương thức là gì?

Trong Python, chúng ta có thể tạo một phương thức có thể được gọi theo nhiều cách khác nhau

Vì vậy, chúng ta có thể có một phương thức không có, một hoặc nhiều tham số và tùy thuộc vào định nghĩa phương thức, chúng ta có thể gọi nó bằng không, một hoặc nhiều đối số

Đây là nạp chồng phương thức trong Python

Điểm cần lưu ý

Quá tải phương thức trong Python đạt được bằng cách sử dụng một phương thức với số lượng đối số khác nhau

Trong các ngôn ngữ lập trình khác như Java, chúng ta có nhiều hơn một định nghĩa phương thức cho cùng một tên phương thức để đạt được nạp chồng phương thức trong Java

Ví dụ về nạp chồng phương thức

Trong chương trình Python sau đây, chúng ta đang nạp chồng phương thức area

Nếu không có đối số thì nó trả về 0

Nếu chúng ta có một đối số thì nó trả về bình phương của giá trị và giả sử bạn đang tính diện tích hình vuông

Và nếu chúng ta có hai đối số thì nó trả về tích của hai giá trị và giả sử bạn đang tính diện tích hình chữ nhật

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,

Làm thế nào chúng ta có thể đạt được nạp chồng phương thức?

Có thể thực hiện quá tải phương thức bằng cách sau. .
Bằng cách thay đổi số lượng tham số trong một phương thức
Bằng cách thay đổi thứ tự các tham số trong một phương thức
Bằng cách sử dụng các loại dữ liệu khác nhau cho các tham số

Tại sao không thể nạp chồng phương thức trong Python?

Không thể quyết định thực thi phương thức nào dựa trên kiểu trả về, do đó, không thể nạp chồng chỉ bằng cách thay đổi kiểu trả về của phương thức

Làm thế nào để khắc phục tình trạng quá tải?

Nếu một lớp có nhiều phương thức có cùng tên nhưng các tham số của phương thức phải khác nhau được gọi là Nạp chồng phương thức. .
Số tham số trong hai phương thức
Các kiểu dữ liệu của các tham số của các phương thức
Thứ tự các tham số của các phương thức

Chủ Đề