@override 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. 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. Show
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 TkinterGhi đè 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 Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng phương thức ghi đè Python để cho phép lớp con cung cấp triển khai cụ thể của phương thức được cung cấp bởi một trong các lớp cha của nó Giới thiệu về phương thức ghi đè PythonPhương thức ghi đè cho phép một 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 của nó Hãy lấy một ví dụ để hiểu rõ hơn về phương thức ghi đè Đầu tiên, định nghĩa lớp 8________số 8_______ Lớp 8 có hai biến đối tượng là 0 và 1. Nó cũng có phương thức 2 trả về 1 Thứ hai, định nghĩa lớp 4 kế thừa từ lớp 8
Lớp 4 có ba thuộc tính thể hiện. 0, 1 và 9 Thứ ba, tạo một phiên bản mới của lớp 4 và hiển thị khoản thanh toán
đầu ra
Phương thức 2 chỉ trả về 1, không phải tổng của 1 và 9 Khi bạn gọi 2 từ thể hiện của lớp 4, Python thực thi phương thức 2 của lớp 8, phương thức này trả về 1 Để đưa khoản khuyến khích bán hàng vào lương, bạn cần định nghĩa lại phương thức 2 trong lớp 4 như sau
Trong trường hợp này, chúng ta nói rằng phương thức 2 trong lớp 4 ghi đè phương thức 2 trong lớp 8 Khi bạn gọi phương thức 2 của đối tượng 4, Python sẽ gọi phương thức 2 trong lớp 4
đầu ra
Nếu bạn tạo một thể hiện của lớp 8, Python sẽ gọi phương thức 2 của lớp 8, không phải phương thức 2 của lớp 4. Ví dụ
Đặt nó tất cả cùng nhau
Ví dụ ghi đè phương thức nâng caoPhần sau định nghĩa lớp 5
Lớp 5 có thuộc tính 7 chỉ định một đoạn văn bản sẽ được phân tích cú pháp. Ngoài ra, lớp 5 có ba phương thức
Sau đây sử dụng lớp 5 để trích xuất email và điện thoại 0 đầu ra 1 Giả sử bạn cần trích xuất số điện thoại ở định dạng 1, đây là định dạng số điện thoại của Vương quốc Anh. Ngoài ra, bạn muốn sử dụng email trích xuất như lớp 5 Để làm điều đó, bạn có thể định nghĩa một lớp mới có tên là 3 kế thừa từ lớp 5. Trong lớp 3, bạn override phương thức 0 như sau 2 Sau đây sử dụng lớp 3 để trích xuất số điện thoại (ở định dạng Vương quốc Anh) và email từ văn bản 3 đầu ra 4 Trong ví dụ này, 8 gọi phương thức 4 từ lớp cha là lớp Parser. Đổi lại, phương thức 4 gọi các phương thức 9 và 0 Tuy nhiên, 3 không gọi phương thức 0 của lớp 5 mà gọi phương thức 0 của lớp 3 5 Lý do là bên trong phương thức 4, 9 là 8 là một thể hiện của lớp 3 Do đó, khi bạn gọi phương thức 2 bên trong phương thức 4, Python sẽ tìm kiếm phương thức 0 được liên kết với thể hiện của phương thức 3 Đặt nó tất cả cùng nhau 6 Thuộc tính ghi đèPhần sau đây cho thấy cách triển khai các lớp Trình phân tích cú pháp và UkParser bằng cách ghi đè các thuộc tính 7 Trong ví dụ này, 5 có biến lớp 7. Phương thức 0 trong lớp 5 sử dụng 7 để trích xuất một số điện thoại Lớp con 3 xác định lại (hoặc ghi đè) thuộc tính lớp 7 Nếu bạn gọi phương thức 4 từ thể hiện của 3, thì phương thức 4 sẽ gọi phương thức 0 sử dụng phương thức 7 được định nghĩa trong lớp 3 Ghi đè được sử dụng để làm gì?Về mặt kỹ thuật, ghi đè là một hàm 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ỳ . .
@override nghĩa là gì trong mã Java?Chú thích @Override @Override thông báo cho trình biên dịch rằng phần tử này dùng để ghi đè lên một phần tử được khai báo trong một lớp cha . Các phương thức ghi đè sẽ được thảo luận trong Giao diện và Kế thừa.
Ghi đè có nghĩa là gì trong mã?Ghi đè có nghĩa là gì? |