Skip to content

Commit 1253b45

Browse files
author
Saeid
committed
*
1 parent 2ebd471 commit 1253b45

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

lessons/l18.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,13 @@
363363
(<class '__main__.SubClass'>, <class '__main__.SuperClassA'>, <class '__main__.SuperClassB'>, <class '__main__.SuperClassC'>, <class 'object'>)
364364

365365

366-
می‌دانیم که هر کلاس پایتون به صورت پیش‌فرض از کلاس ``object`` ارث‌بری دارد. از طرفی در فرآیند وراثت چندگانه ترتیب نوشتن superclassها در سرآیند subclass مهم است به این صورت که MRO پایتون برای یافتن متد مورد نظر کلاس‌های superclass را به ترتیب از سمت چپ به راست مورد جستجو قرار می‌دهد.
366+
می‌دانیم که هر کلاس پایتون به صورت پیش‌فرض از کلاس ``object`` ارث‌بری دارد. از طرفی در فرآیند وراثت چندگانه ترتیب نوشتن superclassها در سرآیند subclass مهم است به این صورت که MRO پایتون برای یافتن متد مورد نظر کلاس‌های superclass را به ترتیب از سمت چپ به راست مورد جستجو قرار می‌دهد (**depth-first left-to-right**)، ابتدا نخستین superclass از سمت چپ انتخاب و برسی می‌گردد، چنانچه آن کلاس نیز superclass داشته باشد، برای آن نیز همین روند طی می‌شود تا به کلاس object برسد، سپس دومین superclass از سمت چپ انتخاب و همین روند تا بالاترین سطح برای آن پیمایش می‌شود و الی آخر::
367+
368+
SubClass
369+
--> SuperClassA --> object
370+
--> SuperClassB --> object
371+
--> SuperClassC --> object
372+
367373

368374
.. code-block:: python
369375
:linenos:

0 commit comments

Comments
 (0)