Phương pháp ghi đè python với các đối số khác nhau
Ghi đè phương thức so với nạp chồng trong Python—sự khác biệt là gì? Show
Trong nạp chồng phương thức, các phương thức trong một lớp nhất định có cùng tên nhưng chữ ký khác nhau (= danh sách đối số). Trong ghi đè phương thức, các phương thức có cùng tên và cùng chữ ký và các phương thức của lớp con sẽ ghi đè các phương thức của lớp cha Video sau đây giải thích chi tiết hơn về bài viết này Ghi đè Python so với Quá tải [Giải thích đơn giản] Xem video này trên YouTube Quá tải phương thứcnạp chồng phương thức. tạo một phương thức có thể được gọi với các đối số khác nhau Đây là một ví dụ cho quá tải Phương thức # Method overloading in Python class Wizard: def __init__(self, mana): self.mana = mana def stupor(self, other, damage=50): if self.mana>100: other.mana -= damage tom = Wizard(112) dumbledore = Wizard(151) # duell tom.stupor(dumbledore) dumbledore.stupor(tom, 200) for i in range(10): tom.stupor(dumbledore) # Tom Mana: print(tom.mana) # Dumbledore Mana: print(dumbledore.mana) Tập thể dục. Đầu ra của mã này là gì? Trình hướng dẫn lớp định nghĩa một thuộc tính thể hiện -880 tương ứng. Nếu mức mana cạn kiệt, họ không thể thực hiện các trò ảo thuật nữa Trò ảo thuật sững sờ làm giảm mức năng lượng của đối thủ (được gọi là khác) nếu đối tượng được gọi còn đủ năng lượng Bạn có thể gọi phương thức với hai cài đặt tham số thay thế. Đầu tiên, bạn có thể gọi nó chỉ bằng cách tham chiếu đến phiên bản trình hướng dẫn khác. Thứ hai, bạn có thể gọi nó bằng cách chỉ định cả tham chiếu đến trình hướng dẫn khác VÀ thiệt hại mà nó gây ra Bằng cách này, bạn “quá tải” định nghĩa của phương thức. Nó thực hiện những thứ khác nhau khi được gọi khác nhau Điều này được thể hiện trong đầu ra của câu đố. Giả sử, Pháp sư Tom chiến đấu chống lại Pháp sư Dumbledore. Tom tấn công đầu tiên. Anh ta giảm mức năng lượng đi 50 điểm ("sát thương" mặc định khi không được xác định rõ ràng). Cụ Dumbledore đánh trả bằng cách giảm 200 điểm năng lượng của Tom trong một đòn đánh. Tại thời điểm này, Tom còn lại -88 mana, vì vậy cho dù anh ta có cố gắng làm hại cụ Dumbledore bao nhiêu lần đi chăng nữa - điều đó cũng không thay đổi được gì Có thể bạn quan tâmĐây là kết quả của câu đố mã -88 Ghi đè phương thứcGhi đè phương thức. ghi đè chức năng của một phương thức được định nghĩa trong lớp cha Đây là một ví dụ về ghi đè phương thức # Method overriding in Python class Muggle: def convince(self, other, thing): print("Please, " + other + ", " + thing) class Wizard(Muggle): def convince(self, other, thing): print("Imperius {" + other + ", " + thing + "}") petunia = Muggle() harry = Wizard() petunia.convince("Harry", "clean up") harry.convince("Dudley", "clean up") Tập thể dục. Đầu ra của câu đố mã này là gì? Chúng tôi sử dụng một ví dụ về Harry Potter. Lớp -881 là lớp cha của lớp -880 (được biểu thị bằng định nghĩa lớp Wizard -880) Do đó, lớp -880 kế thừa tất cả các phương thức và thuộc tính từ lớp cha -881 — bao gồm cả phương thức -883 Tuy nhiên, một -880 có những cách khác để thuyết phục ai đó làm điều gì đó. Do đó, chúng ta OVERRIDE phương thức -885 trong lớp con. Về bản chất, chúng tôi thay thế chức năng bằng chức năng mới cụ thể hơn cho lớp con Khi Thuật sĩ Harry thực thi phương thức thuyết phục, nó sử dụng chức năng của phương thức được xác định trong mô tả lớp Thuật sĩ Please, Harry, clean up Đi đâu từ đây?Bạn cần biết từ vựng của một ngôn ngữ tự nhiên để giao tiếp với người khác. Tương tự, bạn cần biết cú pháp ngôn ngữ lập trình trước khi có thể giao tiếp hiệu quả với máy tính của mình và các lập trình viên khác. Tham gia cùng 55.235 lập trình viên đầy tham vọng trong danh sách email của tôi — và học từ vựng Python từ đầu Chris Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây Phương thức ghi đè có thể có các tham số khác nhau không?Không, trong khi ghi đè một phương thức của siêu hạng, chúng ta cần đảm bảo rằng cả hai phương thức đều có cùng tên, cùng tham số và cùng kiểu trả về, nếu không cả hai sẽ được coi là các phương thức khác nhau.
Chúng ta có thể thay đổi các đối số trong phương thức trong khi ghi đè phương thức không?Theo quy tắc, khi ghi đè một phương thức trong lớp con, các tham số không được thay đổi và phải giống như trong lớp cha.
Chúng ta có thể ghi đè một phương thức bằng một phương thức khác trong cùng một lớp không?Câu trả lời là Không, bạn không thể ghi đè cùng một phương thức trong một lớp .
Một lớp con có thể ghi đè một phương thức không?Một lớp con có thể ghi đè hoàn toàn việc triển khai một phương thức kế thừa hoặc lớp con có thể nâng cao phương thức bằng cách bổ sung chức năng cho nó. |
Bài Viết Liên Quan
Các vòng lặp trong Python là gì?
vòng lặp for được sử dụng khi bạn có một khối mã mà bạn muốn lặp lại một số lần cố định. Vòng lặp for luôn được sử dụng kết hợp với một ...
Làm cách nào để đặt tên động cho một hàm trong JavaScript?
Sử dụng tên động/duy nhất cho các hàm JavaScriptCó những trường hợp bạn sẽ cần sử dụng tên động/duy nhất cho các hàm JavaScriptXem xét tình huống sauĐiều ...
Docker-php
Codefresh có thể làm việc với các dự án Php sử dụng bất kỳ framework phổ biến nào (Laravel, Symphony, CakePHp, v.v. )Dự án php ví dụBạn có thể xem dự án ví ...
Bao nhiêu tiền trong tiếng Anh là gì?
Câu hỏi “How many” & “How much”HOW MANY1 – Cách sử dụng “How many” có nghĩa là “bao nhiêu”, nó được dùng trong câu hỏi hỏi về số lượng của các ...
Định dạng ngày giờ trong Python là gì?
Mô-đun datetime trong Python cung cấp các phương thức để làm việc với các giá trị ngày và giờ. Để sử dụng mô-đun này, trước tiên chúng ta phải nhập nó ...
Tôi có thể thêm HTML vào Python không?
Mô-đun này định nghĩa một lớp dùng làm cơ sở để phân tích cú pháp các tệp văn bản được định dạng bằng HTML (Ngôn ngữ đánh dấu siêu văn bản) và ...
Chúc mừng năm mới 2023
Tết Nguyên đán là một lễ kỷ niệm lớn không chỉ ở Trung Quốc, mà trên toàn thế giới. Việc đánh dấu năm mới âm lịch mang đến pháo hoa, diễu hành, ánh ...
Môi trường thời gian chạy Python trực tuyến
Python 3 Chạyđầu vào stdinnullđầu raCách sử dụng Trình biên dịch/Thông dịch viên Python trực tuyến nàyĐể chạy mã Python trực tuyến, hãy viết mã Python của ...
Mô hình lập trình tuyến tính trong Excel là gì?
Để cho Bộ giải Excel biết ô nào trên trang tính đại diện cho các biến quyết định, ràng buộc và hàm mục tiêu, chúng tôi bấm vào nút Bộ giải trên tab Dữ ...
Tệp python mở dòng mới
Python is the main dynamic language used at Google. This style guide is a list of dos and don’ts for Python programsTo help you format code correctly, we’ve created a settings file for Vim. For ...
Có phải tất cả các chương trình Python đều là mã nguồn mở không?
Python đang bùng nổ và trang Github của nó cũng vậy. Năm nay thật tuyệt vời đối với Python và chúng tôi đã thấy một số dự án mã nguồn mở Python rất mạnh ...
Từ Cần Thơ đến Đà Lạt bao nhiêu km
Bài viết sau đây của Hoa Dalat Travel về Cần Thơ Đi Đà Lạt sẽ cung cấp cho các bạn những thông tin cực kỳ hữu ích. Đặc biệt là những du khách mới đi ...
Python json null không được xác định
Tài liệu này mô tả cách tạo bảng có cột SELECT TO_JSON(STRUCT(1 AS id, [10,20] AS coordinates)) AS pt; 0, chèn dữ liệu JSON vào bảng BigQuery và truy vấn dữ liệu ...
Thách thức css và giải pháp
Vượt qua 835 dự án, trong đó Đông Nam Á có 74 và Việt Nam có 16 dự án, đội GDSC của Trường Đại học Hoa Sen (HSU) đã xuất sắc trở thành một trong ba đội ...
Windows 7 có chạy được python không
Python là ngôn ngữ lập trình chính phát triển nhanh nhất trên thế giới. Bạn muốn tham gia với tư cách là một lập trình viên Python và cài đặt Python trên máy ...
JavaScript là gì và nó được sử dụng như thế nào trong trang web?
JavaScript là một ngôn ngữ lập trình máy tính năng động. Nó nhẹ và được sử dụng phổ biến nhất như một phần của trang web, việc triển khai của nó cho ...
MySQL đóng kết nối
Bảo trì cơ sở dữ liệu hoặc máy chủ thường được thực hiện bởi quản trị viên cơ sở dữ liệu vào ban đêm. Tuy nhiên, những thói quen này đôi khi bị ...
Làm cách nào để thêm không gian trong PHP?
Như những người viết mã HTML đều hiểu, khoảng trắng (dòng trống, tab và các khoảng trắng thừa khác) trong mã của bạn có thể giúp duy trì môi trường lập ...
Giao điểm của n danh sách Python
Trước khi bắt đầu hướng dẫn này, khái niệm giao lộ sẽ được giải thích. Dưới đây, hai được đưa ra làm ví dụDanh sách1 = [4, 7, 23, 9, 6, 11]List2 = [6, 5, ...
KẾT HỢP MySQL
Trong bài viết này, tôi sẽ thảo luận về Chức năng COALESCE của MySQL với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo ...