Sơ đồ kế thừa Python

Lệnh này có một hoặc nhiều đối số, mỗi đối số đưa ra một tên mô-đun hoặc lớp. Tên lớp có thể không đủ tiêu chuẩn;

Đối với mỗi lớp nhất định và mỗi lớp trong mỗi mô-đun nhất định, các lớp cơ sở được xác định. Sau đó, từ tất cả các lớp và các lớp cơ sở của chúng, một biểu đồ được tạo, biểu đồ này sau đó được hiển thị thông qua phần mở rộng graphviz thành biểu đồ có hướng

Chỉ thị này hỗ trợ một tùy chọn có tên là

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
2, nếu được cung cấp, phải là một số nguyên, khuyên chỉ thị nên giữ nhiều phần được phân tách bằng dấu chấm đó trong các tên được hiển thị (từ phải sang trái). Ví dụ:
.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
3 sẽ chỉ hiển thị tên lớp mà không có tên của các mô-đun chứa chúng

Đã thay đổi trong phiên bản 2. 0. Giá trị của for

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
2 cũng có thể là số âm, cho biết có bao nhiêu phần bị loại bỏ từ bên trái. Ví dụ: nếu tất cả các tên lớp của bạn bắt đầu bằng
.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
5, bạn có thể cung cấp cho
.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
6 để xóa tiền tố đó khỏi tên nút được hiển thị.

Lệnh này cũng hỗ trợ tùy chọn cờ

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
7;

Bạn có thể sử dụng tùy chọn

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
9 để đặt chú thích cho sơ đồ

Đã thay đổi trong phiên bản 1. 1. Đã thêm tùy chọn

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
7; .

Đã thay đổi trong phiên bản 1. 5. Đã thêm tùy chọn

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C
9

Nó cũng hỗ trợ tùy chọn

.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F
   :top-classes: dummy.test.B, dummy.test.C
2 yêu cầu một hoặc nhiều tên lớp được phân tách bằng dấu phẩy. Nếu được chỉ định truyền tải thừa kế sẽ dừng ở các tên lớp được chỉ định. Đưa ra mô-đun Python sau

"""
       A
      / \
     B   C
    / \ / \
   E   D   F
"""

class A:
    pass

class B(A):
    pass

class C(A):
    pass

class D(B, C):
    pass

class E(B):
    pass

class F(C):
    pass

Nếu bạn đã chỉ định một mô-đun trong sơ đồ thừa kế như thế này

.. inheritance-diagram:: dummy.test
   :top-classes: dummy.test.B, dummy.test.C

bất kỳ lớp cơ sở nào là tổ tiên của

.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F
   :top-classes: dummy.test.B, dummy.test.C
2 và cũng được định nghĩa trong cùng một mô-đun sẽ được hiển thị dưới dạng các nút độc lập. Trong ví dụ này, lớp A sẽ được hiển thị dưới dạng nút độc lập trong biểu đồ. Đây là sự cố đã biết do cách tiện ích mở rộng này hoạt động nội bộ

Nếu bạn không muốn lớp A (hoặc bất kỳ tổ tiên nào khác) hiển thị thì chỉ chỉ định các lớp bạn muốn tạo sơ đồ như thế này

.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F
   :top-classes: dummy.test.B, dummy.test.C

Đã thay đổi trong phiên bản 1. 7. Đã thêm tùy chọn

.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F
   :top-classes: dummy.test.B, dummy.test.C
2 để giới hạn phạm vi của biểu đồ kế thừa.

ví dụ

Sau đây là các sơ đồ kế thừa khác nhau cho lớp

.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F
   :top-classes: dummy.test.B, dummy.test.C
5 nội bộ thực hiện chỉ thị

Với tên đầy đủ

.. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram

Sơ đồ kế thừa Python

Chỉ hiển thị tên lớp

.. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
   :parts: 1

Sơ đồ kế thừa Python

Dừng sơ đồ tại (lớp cha cao nhất vẫn là phần của Sphinx) và loại bỏ phần ngoài cùng bên trái chung (

.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F
   :top-classes: dummy.test.B, dummy.test.C
7) khỏi tất cả các tên

.. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
   :top-classes: sphinx.util.docutils.SphinxDirective
   :parts: -1

Sơ đồ kế thừa Python

Cấu hình

thừa kế_graph_attrs

Một từ điển các thuộc tính đồ thị graphviz cho sơ đồ kế thừa

Ví dụ

inheritance_graph_attrs = dict(rankdir="LR", size='"6.0, 8.0"',
                               fontsize=14, ratio='compress')

thừa kế_node_attrs

Từ điển các thuộc tính nút graphviz cho sơ đồ kế thừa

Ví dụ

inheritance_node_attrs = dict(shape='ellipse', fontsize=14, height=0.75,
                              color='dodgerblue1', style='filled')

thừa kế_edge_attrs

Một từ điển các thuộc tính cạnh graphviz cho sơ đồ kế thừa

thừa kế_bí danh

Cho phép ánh xạ tên đầy đủ đủ điều kiện của lớp thành các giá trị tùy chỉnh (hữu ích khi không muốn hiển thị đường dẫn cơ bản của lớp, e. g. đó là một lớp riêng tư và người dùng không nên khởi tạo)

Kế thừa hoạt động như thế nào trong Python?

Kế thừa là khi một lớp được tạo dựa trên một lớp hiện có và lớp mới kế thừa các thuộc tính và phương thức từ lớp hiện có . Lớp mới thường được gọi là “lớp con” và lớp hiện có được gọi là “lớp cha”.

Sơ đồ UML trong Python là gì?

00. 20 Phương pháp chuẩn để tạo sơ đồ lớp được gọi là UML, Ngôn ngữ mô hình hóa thống nhất . UML được sử dụng để hiển thị phân cấp lớp trong các dự án phần mềm. 00. 34 Nói cách khác, nó mô tả các mối quan hệ giữa các lớp khác nhau và nó hỗ trợ thành phần và kế thừa.

Làm cách nào để tạo sơ đồ UML trong Python?

Trong cửa sổ công cụ Dự án, bấm chuột phải vào một mục mà bạn muốn tạo sơ đồ và chọn Sơ đồ. Hiển thị sơ đồ Ctrl+Alt+Shift+U ). Trong danh sách mở ra, chọn Sơ đồ lớp Python. PyCharm tạo sơ đồ UML cho các lớp và phần phụ thuộc của chúng

Kế thừa trong sơ đồ là gì?

Thừa kế. Một khái niệm rất quan trọng trong thiết kế hướng đối tượng, tính kế thừa, đề cập đến khả năng của một lớp (lớp con) kế thừa chức năng giống hệt của lớp khác (lớp siêu cấp), rồi thêm chức năng mới . .