Python đổi tên phương thức kế thừa
Trong bài viết trước, chúng ta đã thảo luận về tính kế thừa của Python. Ở đây, hướng dẫn Đa kế thừa Python, chúng ta sẽ thảo luận Đa kế thừa trong Python là gì với các ví dụ và cách sử dụng của nó Show
Mặt khác, chúng ta sẽ học Python MRO (Method Resolution Order). Cuối cùng, chúng ta sẽ tìm hiểu các biến chứng trong Đa kế thừa trong ngôn ngữ lập trình Python Vì vậy, hãy bắt đầu Hướng dẫn đa kế thừa Python Python đa kế thừa Đa kế thừa Python là gì?Đúng như tên gọi của nó, đa kế thừa trong python là khi một lớp kế thừa từ nhiều lớp. Một ví dụ về điều này là một đứa trẻ thừa hưởng những đặc điểm tính cách từ cả cha lẫn mẹ. Đa kế thừa Python - Ví dụ Trước khi chúng tôi tiến hành nhiều cú pháp kế thừa, hãy xem cú pháp python Cú pháp đa kế thừa PythonĐể tạo một lớp kế thừa từ nhiều lớp python, chúng ta viết tên của các lớp này bên trong dấu ngoặc đơn cho lớp dẫn xuất khi định nghĩa nó Chúng tôi phân tách các tên này bằng dấu phẩy Mã cho ví dụ trước sẽ là >>> class Mother: pass >>> class Father: pass >>> class Child(Mother,Father): pass >>> issubclass(Child,Mother) and issubclass(Child,Father) đầu ra Thật Python MRO (Thứ tự giải quyết phương thức)Khi chúng tôi tìm kiếm một thuộc tính trong một lớp có liên quan đến tính kế thừa của python, một thứ tự sẽ được tuân theo Đầu tiên, nó được tìm kiếm trong lớp hiện tại. Nếu không tìm thấy, tìm kiếm sẽ chuyển sang các lớp cha. Đây là từ trái sang phải, độ sâu đầu tiên Vì vậy, trong lớp trên, thứ tự tìm kiếm sẽ là – Con, Mẹ, Cha, Đối tượng Thứ tự này được gọi là tuyến tính hóa của lớp Con và tập hợp các quy tắc được áp dụng được gọi là MRO (Thứ tự giải quyết phương pháp) Để lấy MRO của một lớp, bạn có thể sử dụng thuộc tính __mro__ hoặc phương thức mro() >>> Child.__mro__ đầu ra ( Thuộc tính __mro__ trả về một bộ, nhưng phương thức mro() trả về một danh sách python >>> Child.mro() đầu ra [ Để lấy một ví dụ phức tạp hơn cũng thể hiện tìm kiếm theo chiều sâu, chúng tôi lấy 6 lớp >>> class X:pass >>> class Y: pass >>> class Z:pass >>> class A(X,Y):pass >>> class B(Y,Z):pass >>> class M(B,A,Z):pass >>> M.mro() đầu ra [ Chúng ta có thể biểu diễn điều này bằng sơ đồ sau Python Đa kế thừa – Thứ tự phân giải phương thức (MRO) Đầu tiên, trình thông dịch quét M. Sau đó, nó quét B, rồi A-B trước do thứ tự của các đối số tại thời điểm kế thừa Nó quét Z sau, sau X và Y. Thứ tự là- X, rồi Y, rồi Z. Điều này là do tìm kiếm theo chiều sâu, X đến trước A Cuối cùng, nó quét đối tượng lớp. Do đó, thứ tự Các biến chứng trong Python Đa kế thừaĐiều gì xảy ra khi các lớp mà chúng ta kế thừa đều có một thuộc tính chung? Hãy học ba lớp A, B và C >>> class A: id=1 >>> class B: id=2 >>> class C: id=3 >>> class M(A,C,B): pass >>> M.id đầu ra 1 >>> M.id đầu ra 1 >>> class M(C,B,A): pass >>> M.id đầu ra 3 Như chúng ta thấy ở đây, lớp có tên đầu tiên trong thừa kế chuyển giá trị của nó cho lớp con để lấy thuộc tính chung Trước đó, đó là A, vì vậy, M có id=1. Sau đó, khi chúng tôi đổi nó thành C, M nhận id=3. Điều này cũng tương tự với các phương thức/hàm Python của lớp ________số 8_______đầu ra A Vì vậy, đây là tất cả về Hướng dẫn đa kế thừa Python. Hy vọng bạn thích lời giải thích của chúng tôi về Python MRO Câu hỏi phỏng vấn Python về đa kế thừa
Phần kết luậnDo đó, trong hướng dẫn này, chúng ta đã thảo luận về tính đa thừa kế của python, cú pháp và các ví dụ của nó Chúng tôi cũng đã nói về Thứ tự giải quyết phương pháp (MRO) và lần cuối cùng chúng tôi thảo luận, các biến chứng trong nhiều kế thừa trong python Bạn có thể đổi tên một hàm trong Python không?Với từ def định nghĩa một hàm, vâng, đổi tên là một hàm . Cách duy nhất để đổi tên một chức năng là thay đổi mã.
Các phương thức lớp có thể được kế thừa Python không?Tính kế thừa cho phép chúng ta định nghĩa một lớp kế thừa tất cả các phương thức và thuộc tính từ một lớp khác . Lớp cha là lớp được kế thừa từ đó, còn được gọi là lớp cơ sở. Lớp con là lớp kế thừa từ lớp khác, còn gọi là lớp dẫn xuất.
Các thuộc tính của lớp có thể được kế thừa không?Các đối tượng được định nghĩa bởi các lớp, các lớp có thể kế thừa các thuộc tính và hành vi từ các lớp có sẵn . Các lớp kết quả được gọi là lớp dẫn xuất hoặc lớp con. Một lớp con “kế thừa” tất cả các thuộc tính (phương thức, v.v.) của lớp cha.
Lớp con kế thừa từ lớp cha trong Python là gì?Một lớp con kế thừa mọi thứ từ lớp cha của nó, được gọi là kế thừa trong phương pháp hướng đối tượng và lập trình hướng đối tượng. Bằng sự kế thừa, các thuộc tính của lớp cha sẽ không lặp lại trong bất kỳ lớp con nào của nó. |