<?xml version="1.0" encoding="utf-8"?>
<mxfile host="app.diagrams.net" modified="2026-10-20T01:30:00.000Z" agent="ChatGPT" version="24.7.17" type="device">
  <diagram id="payment-inheritance" name="支付系统类继承图">
    <mxGraphModel dx="1335" dy="890" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1180" pageHeight="780" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="title" value="Java 支付系统 · UML 类继承图" style="text;html=0;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=28;fontStyle=1;fontColor=#163966;" vertex="1" parent="1">
          <mxGeometry x="210" y="24" width="760" height="48" as="geometry"/>
        </mxCell>
        <mxCell id="subtitle" value="根据“类的继承-XXX.docx”中的 Java 代码绘制" style="text;html=0;align=center;verticalAlign=middle;whiteSpace=wrap;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=14;fontColor=#64748B;" vertex="1" parent="1">
          <mxGeometry x="260" y="76" width="660" height="27" as="geometry"/>
        </mxCell>
        <mxCell id="payment" value="" style="group;container=1;connectable=1;" vertex="1" parent="1">
          <mxGeometry x="415" y="128" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="payment_bg" value="" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1.7;" vertex="1" parent="payment">
          <mxGeometry x="0" y="0" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="payment_header" value="«abstract»&#10;Payment" style="rounded=0;whiteSpace=wrap;html=0;align=center;verticalAlign=middle;fillColor=#1D477F;strokeColor=#1D477F;fontColor=#FFFFFF;fontStyle=1;fontFamily=Arial;fontSize=17;" vertex="1" parent="payment">
          <mxGeometry x="0" y="0" width="350" height="58" as="geometry"/>
        </mxCell>
        <mxCell id="payment_attrs" value="# orderId: String&#10;# amount: double" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#F1F6FB;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=15;fontColor=#1F3349;" vertex="1" parent="payment">
          <mxGeometry x="0" y="58" width="350" height="56" as="geometry"/>
        </mxCell>
        <mxCell id="payment_methods" value="+ Payment(orderId: String,&#10;   amount: double)&#10;+ logTransaction(): void" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=14;fontColor=#1F3349;" vertex="1" parent="payment">
          <mxGeometry x="0" y="114" width="350" height="96" as="geometry"/>
        </mxCell>
        <mxCell id="alipay" value="" style="group;container=1;connectable=1;" vertex="1" parent="1">
          <mxGeometry x="35" y="466" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="alipay_bg" value="" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1.7;" vertex="1" parent="alipay">
          <mxGeometry x="0" y="0" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="alipay_header" value="Alipay" style="rounded=0;whiteSpace=wrap;html=0;align=center;verticalAlign=middle;fillColor=#2B68A9;strokeColor=#2B68A9;fontColor=#FFFFFF;fontStyle=1;fontFamily=Arial;fontSize=21;" vertex="1" parent="alipay">
          <mxGeometry x="0" y="0" width="350" height="58" as="geometry"/>
        </mxCell>
        <mxCell id="alipay_attrs" value="- account: String" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#F1F6FB;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=15;fontColor=#1F3349;" vertex="1" parent="alipay">
          <mxGeometry x="0" y="58" width="350" height="56" as="geometry"/>
        </mxCell>
        <mxCell id="alipay_methods" value="+ Alipay(orderId: String,&#10;   amount: double, account: String)&#10;+ pay(): void" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=14;fontColor=#1F3349;" vertex="1" parent="alipay">
          <mxGeometry x="0" y="114" width="350" height="96" as="geometry"/>
        </mxCell>
        <mxCell id="wechat" value="" style="group;container=1;connectable=1;" vertex="1" parent="1">
          <mxGeometry x="415" y="466" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="wechat_bg" value="" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1.7;" vertex="1" parent="wechat">
          <mxGeometry x="0" y="0" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="wechat_header" value="WechatPay" style="rounded=0;whiteSpace=wrap;html=0;align=center;verticalAlign=middle;fillColor=#2B68A9;strokeColor=#2B68A9;fontColor=#FFFFFF;fontStyle=1;fontFamily=Arial;fontSize=21;" vertex="1" parent="wechat">
          <mxGeometry x="0" y="0" width="350" height="58" as="geometry"/>
        </mxCell>
        <mxCell id="wechat_attrs" value="- openId: String" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#F1F6FB;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=15;fontColor=#1F3349;" vertex="1" parent="wechat">
          <mxGeometry x="0" y="58" width="350" height="56" as="geometry"/>
        </mxCell>
        <mxCell id="wechat_methods" value="+ WechatPay(orderId: String,&#10;   amount: double, openId: String)&#10;+ pay(): void" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=14;fontColor=#1F3349;" vertex="1" parent="wechat">
          <mxGeometry x="0" y="114" width="350" height="96" as="geometry"/>
        </mxCell>
        <mxCell id="credit" value="" style="group;container=1;connectable=1;" vertex="1" parent="1">
          <mxGeometry x="795" y="466" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="credit_bg" value="" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1.7;" vertex="1" parent="credit">
          <mxGeometry x="0" y="0" width="350" height="210" as="geometry"/>
        </mxCell>
        <mxCell id="credit_header" value="CreditCard" style="rounded=0;whiteSpace=wrap;html=0;align=center;verticalAlign=middle;fillColor=#2B68A9;strokeColor=#2B68A9;fontColor=#FFFFFF;fontStyle=1;fontFamily=Arial;fontSize=21;" vertex="1" parent="credit">
          <mxGeometry x="0" y="0" width="350" height="58" as="geometry"/>
        </mxCell>
        <mxCell id="credit_attrs" value="- cardNumber: String" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#F1F6FB;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=15;fontColor=#1F3349;" vertex="1" parent="credit">
          <mxGeometry x="0" y="58" width="350" height="56" as="geometry"/>
        </mxCell>
        <mxCell id="credit_methods" value="+ CreditCard(orderId: String,&#10;   amount: double, cardNumber: String)&#10;+ pay(): void" style="rounded=0;whiteSpace=wrap;html=0;align=left;verticalAlign=middle;spacingLeft=14;fillColor=#FFFFFF;strokeColor=#6C829C;strokeWidth=1;fontFamily=Consolas;fontSize=14;fontColor=#1F3349;" vertex="1" parent="credit">
          <mxGeometry x="0" y="114" width="350" height="96" as="geometry"/>
        </mxCell>
        <mxCell id="alipay_inherits" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=0;strokeColor=#4B647E;strokeWidth=2.2;startArrow=none;endArrow=block;endFill=0;endSize=19;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.22;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="alipay" target="payment">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="210" y="408"/>
              <mxPoint x="492" y="408"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="wechat_inherits" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=0;strokeColor=#4B647E;strokeWidth=2.2;startArrow=none;endArrow=block;endFill=0;endSize=19;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="wechat" target="payment">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="credit_inherits" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=0;strokeColor=#4B647E;strokeWidth=2.2;startArrow=none;endArrow=block;endFill=0;endSize=19;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.78;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="credit" target="payment">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="970" y="408"/>
              <mxPoint x="688" y="408"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="legend" value="可见性：+ public  ／  # protected  ／  - private       继承：空心三角箭头指向父类" style="text;html=0;align=center;verticalAlign=middle;whiteSpace=wrap;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=14;fontColor=#52677E;" vertex="1" parent="1">
          <mxGeometry x="150" y="711" width="880" height="25" as="geometry"/>
        </mxCell>
        <mxCell id="code_note" value="注：按提供的源代码绘制，Payment 未声明 pay() 方法。" style="text;html=0;align=center;verticalAlign=middle;whiteSpace=wrap;fillColor=none;strokeColor=none;fontFamily=Arial;fontSize=12;fontColor=#8191A5;" vertex="1" parent="1">
          <mxGeometry x="235" y="738" width="710" height="23" as="geometry"/>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
