Ghi đè trong Python là gì?
Ghi đè phương thức là một tính năng của lập trình hướng đối tượng cho phép bạn thay đổi hành vi của các phương thức kế thừa theo nhu cầu cụ thể của chúng tôi. Ở đây, phương thức trong lớp dẫn xuất có cùng tên và cùng số đối số với lớp cơ sở Show Phương thức của lớp cơ sở được gọi là phương thức ghi đè và phương thức của lớp dẫn xuất được gọi là phương thức ghi đè #Python program to implement method overriding class Animal: def sound(self): print('Animal makes sound.') class Dog(Animal): def sound(self): print('Dog barks.') d = Dog() d.sound() Đầu ra của chương trình trên Dog barks. Trong đoạn mã trên, bạn có thể thấy rằng lớp Dog barks.1 của lớp Animal . Khi chúng ta gọi phương thức Dog barks.1 sử dụng đối tượng lớp Dog thì "Dog sủa" được in ra thay vì "Động vật tạo ra âm thanh" Ghi đè phương thức là một khái niệm của lập trình hướng đối tượng, cho phép chúng ta thay đổi cách thực hiện của một hàm trong lớp con đã được định nghĩa trong lớp cha. Đó là khả năng của một lớp con thay đổi việc triển khai bất kỳ phương thức nào đã được cung cấp bởi một trong các lớp cha (tổ tiên) của nó Các điều kiện sau phải được đáp ứng để ghi đè một chức năng
Như chúng ta đã tìm hiểu về khái niệm Kế thừa, chúng ta biết rằng khi một lớp con kế thừa một lớp cha, nó cũng có quyền truy cập vào các biến và phương thức
Hàm được định nghĩa trong lớp cha Trong khi lớp con có thể truy cập các phương thức của lớp cha, nó cũng có thể cung cấp một triển khai mới cho các phương thức của lớp cha, được gọi là ghi đè phương thức Ví dụ ghi đè phương thức PythonHãy lấy một ví dụ rất thú vị mà chúng ta cũng đã có trong hướng dẫn thừa kế. Có một lớp cha tên là
Hãy tạo một lớp con
Trong lớp con 0Vì vậy, bây giờ khi chúng ta tạo một đối tượng của lớp 0, phiên bản bị ghi đè sẽ được thực thi Ghi đè phương thức trong Python là khi bạn có hai phương thức có cùng tên, mỗi phương thức thực hiện các tác vụ khác nhau. Ghi đè phương thức là một khả năng của bất kỳ ngôn ngữ lập trình hướng đối tượng nào cho phép một lớp con hoặc lớp con cung cấp một triển khai cụ thể của một phương thức đã được cung cấp bởi một trong các lớp cha hoặc lớp cha của nó. Khi một phương thức trong lớp con có cùng tên, cùng tham số hoặc chữ ký và cùng kiểu trả về (hoặc kiểu con) như một phương thức trong siêu lớp của nó, thì phương thức trong lớp con được cho là sẽ ghi đè phương thức trong siêu lớp. Mã nguồn# Function Overriding class Employee: def WorkingHrs(self): self.hrs = 50 def printHrs(self): print("Total Working Hrs : ", self.hrs) class Trainee(Employee): def WorkingHrs(self): self.hrs = 60 def resetHrs(self): super().WorkingHrs() employee = Employee() employee.WorkingHrs() employee.printHrs() trainee=Trainee() trainee.WorkingHrs() trainee.printHrs() # Reset Trainee Hrs trainee.resetHrs() trainee.printHrs()Để tải xuống tệp thô Bấm vào đây đầu raTotal Working Hrs : 50 Total Working Hrs : 60 Total Working Hrs : 50 Danh sách chương trìnhChương trình mẫuKết nối cơ sở dữ liệu Pythonbình trănHướng dẫn Python TkinterVí dụ ghi đè trong Python là gì?Ghi đè phương thức trong Python là khi bạn có hai phương thức có cùng tên, mỗi phương thức thực hiện các tác vụ khác nhau . Đây là một tính năng quan trọng của tính kế thừa trong Python. Trong ghi đè phương thức, lớp con có thể thay đổi các chức năng được định nghĩa bởi các lớp tổ tiên của nó.
Ghi đè và quá tải trong Python là gì?Quá tải phương thức là xác định hai hoặc nhiều phương thức có cùng tên nhưng khác tham số. 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.
Ghi đè bằng ví dụ là gì?Ví dụ ghi đè phương thức
. Một lớp con Boy và một lớp cha Human. Lớp Boy mở rộng lớp Human. Cả hai lớp đều có một phương thức chung là void eat(). Lớp Boy đang triển khai phương thức eat() của riêng mình hay nói cách khác, nó đang ghi đè phương thức eat() .
ghi đè giải thích là gì?Về mặt kỹ thuật, ghi đè là một chức năng yêu cầu một lớp con hoặc lớp con cung cấp nhiều cách triển khai phương thức đã được cung cấp bởi một trong các lớp cha hoặc lớp cha của nó, trong bất kỳ ngôn ngữ lập trình hướng đối tượng nào. |