ts(typescript)面向对象之类的继承

类继承的作用

继承可以描述类与类之间的关系,
例如: 在斗地主的小游戏中,我们只看,牌里面有分4种花色的牌(除了大小王),♥,♠,♦,♣,我们可以知道♥的牌是牌,♠的牌是牌……,形如:在中文的描述种,什么是什么,例如 A 是 B,我们就可以理解成 A 是 B的子集(数学角度上)B 包含 A

在程序编程思想中,如果A和B都是类,并且可以描述为A是B,则A和B形成继承关系:

  • B是父类,A是子类
  • B派生A,A继承自B
  • B是A的基类,A是B的派生类

如果A继承自B,则A中自动拥有B中的所有成员

#mermaid-svg-BZsbxC4gTgaSjnDn .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .label text{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .node rect,#mermaid-svg-BZsbxC4gTgaSjnDn .node circle,#mermaid-svg-BZsbxC4gTgaSjnDn .node ellipse,#mermaid-svg-BZsbxC4gTgaSjnDn .node polygon,#mermaid-svg-BZsbxC4gTgaSjnDn .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-BZsbxC4gTgaSjnDn .node .label{text-align:center;fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .node.clickable{cursor:pointer}#mermaid-svg-BZsbxC4gTgaSjnDn .arrowheadPath{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-BZsbxC4gTgaSjnDn .flowchart-link{stroke:#333;fill:none}#mermaid-svg-BZsbxC4gTgaSjnDn .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-BZsbxC4gTgaSjnDn .edgeLabel rect{opacity:0.9}#mermaid-svg-BZsbxC4gTgaSjnDn .edgeLabel span{color:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-BZsbxC4gTgaSjnDn .cluster text{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-BZsbxC4gTgaSjnDn .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-BZsbxC4gTgaSjnDn text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-BZsbxC4gTgaSjnDn .actor-line{stroke:grey}#mermaid-svg-BZsbxC4gTgaSjnDn .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-BZsbxC4gTgaSjnDn #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .sequenceNumber{fill:#fff}#mermaid-svg-BZsbxC4gTgaSjnDn #sequencenumber{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn #crosshead path{fill:#333;stroke:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .messageText{fill:#333;stroke:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-BZsbxC4gTgaSjnDn .labelText,#mermaid-svg-BZsbxC4gTgaSjnDn .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-BZsbxC4gTgaSjnDn .loopText,#mermaid-svg-BZsbxC4gTgaSjnDn .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-BZsbxC4gTgaSjnDn .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-BZsbxC4gTgaSjnDn .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-BZsbxC4gTgaSjnDn .noteText,#mermaid-svg-BZsbxC4gTgaSjnDn .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-BZsbxC4gTgaSjnDn .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-BZsbxC4gTgaSjnDn .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-BZsbxC4gTgaSjnDn .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-BZsbxC4gTgaSjnDn .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .section{stroke:none;opacity:0.2}#mermaid-svg-BZsbxC4gTgaSjnDn .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-BZsbxC4gTgaSjnDn .section2{fill:#fff400}#mermaid-svg-BZsbxC4gTgaSjnDn .section1,#mermaid-svg-BZsbxC4gTgaSjnDn .section3{fill:#fff;opacity:0.2}#mermaid-svg-BZsbxC4gTgaSjnDn .sectionTitle0{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .sectionTitle1{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .sectionTitle2{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .sectionTitle3{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-BZsbxC4gTgaSjnDn .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .grid path{stroke-width:0}#mermaid-svg-BZsbxC4gTgaSjnDn .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-BZsbxC4gTgaSjnDn .task{stroke-width:2}#mermaid-svg-BZsbxC4gTgaSjnDn .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .taskText:not([font-size]){font-size:11px}#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-BZsbxC4gTgaSjnDn .task.clickable{cursor:pointer}#mermaid-svg-BZsbxC4gTgaSjnDn .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-BZsbxC4gTgaSjnDn .taskText0,#mermaid-svg-BZsbxC4gTgaSjnDn .taskText1,#mermaid-svg-BZsbxC4gTgaSjnDn .taskText2,#mermaid-svg-BZsbxC4gTgaSjnDn .taskText3{fill:#fff}#mermaid-svg-BZsbxC4gTgaSjnDn .task0,#mermaid-svg-BZsbxC4gTgaSjnDn .task1,#mermaid-svg-BZsbxC4gTgaSjnDn .task2,#mermaid-svg-BZsbxC4gTgaSjnDn .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutside0,#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutside2{fill:#000}#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutside1,#mermaid-svg-BZsbxC4gTgaSjnDn .taskTextOutside3{fill:#000}#mermaid-svg-BZsbxC4gTgaSjnDn .active0,#mermaid-svg-BZsbxC4gTgaSjnDn .active1,#mermaid-svg-BZsbxC4gTgaSjnDn .active2,#mermaid-svg-BZsbxC4gTgaSjnDn .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-BZsbxC4gTgaSjnDn .activeText0,#mermaid-svg-BZsbxC4gTgaSjnDn .activeText1,#mermaid-svg-BZsbxC4gTgaSjnDn .activeText2,#mermaid-svg-BZsbxC4gTgaSjnDn .activeText3{fill:#000 !important}#mermaid-svg-BZsbxC4gTgaSjnDn .done0,#mermaid-svg-BZsbxC4gTgaSjnDn .done1,#mermaid-svg-BZsbxC4gTgaSjnDn .done2,#mermaid-svg-BZsbxC4gTgaSjnDn .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-BZsbxC4gTgaSjnDn .doneText0,#mermaid-svg-BZsbxC4gTgaSjnDn .doneText1,#mermaid-svg-BZsbxC4gTgaSjnDn .doneText2,#mermaid-svg-BZsbxC4gTgaSjnDn .doneText3{fill:#000 !important}#mermaid-svg-BZsbxC4gTgaSjnDn .crit0,#mermaid-svg-BZsbxC4gTgaSjnDn .crit1,#mermaid-svg-BZsbxC4gTgaSjnDn .crit2,#mermaid-svg-BZsbxC4gTgaSjnDn .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-BZsbxC4gTgaSjnDn .activeCrit0,#mermaid-svg-BZsbxC4gTgaSjnDn .activeCrit1,#mermaid-svg-BZsbxC4gTgaSjnDn .activeCrit2,#mermaid-svg-BZsbxC4gTgaSjnDn .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-BZsbxC4gTgaSjnDn .doneCrit0,#mermaid-svg-BZsbxC4gTgaSjnDn .doneCrit1,#mermaid-svg-BZsbxC4gTgaSjnDn .doneCrit2,#mermaid-svg-BZsbxC4gTgaSjnDn .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-BZsbxC4gTgaSjnDn .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-BZsbxC4gTgaSjnDn .milestoneText{font-style:italic}#mermaid-svg-BZsbxC4gTgaSjnDn .doneCritText0,#mermaid-svg-BZsbxC4gTgaSjnDn .doneCritText1,#mermaid-svg-BZsbxC4gTgaSjnDn .doneCritText2,#mermaid-svg-BZsbxC4gTgaSjnDn .doneCritText3{fill:#000 !important}#mermaid-svg-BZsbxC4gTgaSjnDn .activeCritText0,#mermaid-svg-BZsbxC4gTgaSjnDn .activeCritText1,#mermaid-svg-BZsbxC4gTgaSjnDn .activeCritText2,#mermaid-svg-BZsbxC4gTgaSjnDn .activeCritText3{fill:#000 !important}#mermaid-svg-BZsbxC4gTgaSjnDn .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-BZsbxC4gTgaSjnDn g.classGroup text .title{font-weight:bolder}#mermaid-svg-BZsbxC4gTgaSjnDn g.clickable{cursor:pointer}#mermaid-svg-BZsbxC4gTgaSjnDn g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-BZsbxC4gTgaSjnDn g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-BZsbxC4gTgaSjnDn .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-BZsbxC4gTgaSjnDn .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-BZsbxC4gTgaSjnDn .dashed-line{stroke-dasharray:3}#mermaid-svg-BZsbxC4gTgaSjnDn #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn .commit-id,#mermaid-svg-BZsbxC4gTgaSjnDn .commit-msg,#mermaid-svg-BZsbxC4gTgaSjnDn .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-BZsbxC4gTgaSjnDn g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-BZsbxC4gTgaSjnDn g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-BZsbxC4gTgaSjnDn g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-BZsbxC4gTgaSjnDn .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-BZsbxC4gTgaSjnDn .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-BZsbxC4gTgaSjnDn .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-BZsbxC4gTgaSjnDn .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-BZsbxC4gTgaSjnDn .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-BZsbxC4gTgaSjnDn .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-BZsbxC4gTgaSjnDn .edgeLabel text{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-BZsbxC4gTgaSjnDn .node circle.state-start{fill:black;stroke:black}#mermaid-svg-BZsbxC4gTgaSjnDn .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-BZsbxC4gTgaSjnDn #statediagram-barbEnd{fill:#9370db}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-state .divider{stroke:#9370db}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-BZsbxC4gTgaSjnDn .note-edge{stroke-dasharray:5}#mermaid-svg-BZsbxC4gTgaSjnDn .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-BZsbxC4gTgaSjnDn .error-icon{fill:#522}#mermaid-svg-BZsbxC4gTgaSjnDn .error-text{fill:#522;stroke:#522}#mermaid-svg-BZsbxC4gTgaSjnDn .edge-thickness-normal{stroke-width:2px}#mermaid-svg-BZsbxC4gTgaSjnDn .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-BZsbxC4gTgaSjnDn .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-BZsbxC4gTgaSjnDn .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-BZsbxC4gTgaSjnDn .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-BZsbxC4gTgaSjnDn .marker{fill:#333}#mermaid-svg-BZsbxC4gTgaSjnDn .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-BZsbxC4gTgaSjnDn {color: rgba(0, 0, 0, 0.75);font: ;}Poker类JackPoker红桃类SpadePoker黑桃类ClubPoker梅花类其他extendsextendsextendsextends

属性继承:获取父类牌的花色,这是一个父类的属性,字类可以直接拿到

方法继承:假设牌都有一个方法叫做来摸我(瞎说的哈),这个方法应该是属于玩家类的行为,用于理解继承父类后,属性和方法也被同时继承。

成员重写

重写(override):子类中覆盖父类的成员,

注意

  • 子类成员不能改变父类成员的类型

  • 无论是属性还是方法,子类都可以对父类的相应成员进行重写,但是重写时,需要保证类型的匹配。

但是有一点,如果我们字类和父类的参数保持一致,但是如果父类的返回值类型是void,字类可以随便定义返回值类型。如下:


原因:

  • 注意this关键字:在继承关系中,this的指向是动态——调用方法时,根据具体的调用者确定this指向;
  • super关键字:在子类的方法中,可以使用super关键字读取父类成员(这个成员是指父类的方法,不能获取父类的属性)

this 和 super 的区别( 在子类中)

  1. 如果方法或者属性没有进行重写,那么this 和 super 是一样的。
  2. 如果方法进行重写:
    • this 指向的是当前子类的实例,而super指向的是父类
    • super当作属性使用的时候, super 指向的是父类的原型,因此super无法拿到父类的实例属性,只能拿到父类的publicprotected的方法,super 如果当方法使用的话,只能在字类的构造函数中并且是第一行使用,需要使用super()来实例化父类里面的属性,确保字类可以获取父类的成员。

继承的类型匹配

字类的对象,永远可以赋值给父类,(鸭子辩型法,或者子结构法)例如:

面向对象中,这种现象,叫做里氏替换原则(是里氏这个人提出的原则,哈哈)
如果需要判断一个数据的具体子类类型,可以使用instanceof

类的单根性和传递性

单根性:每个类最多只能拥有一个父类

传递性:如果A是B的父类,并且B是C的父类,则,可以认为A也是C的父类

#mermaid-svg-OJS9Gyv3s6pojDtl .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .label text{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .node rect,#mermaid-svg-OJS9Gyv3s6pojDtl .node circle,#mermaid-svg-OJS9Gyv3s6pojDtl .node ellipse,#mermaid-svg-OJS9Gyv3s6pojDtl .node polygon,#mermaid-svg-OJS9Gyv3s6pojDtl .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-OJS9Gyv3s6pojDtl .node .label{text-align:center;fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .node.clickable{cursor:pointer}#mermaid-svg-OJS9Gyv3s6pojDtl .arrowheadPath{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-OJS9Gyv3s6pojDtl .flowchart-link{stroke:#333;fill:none}#mermaid-svg-OJS9Gyv3s6pojDtl .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-OJS9Gyv3s6pojDtl .edgeLabel rect{opacity:0.9}#mermaid-svg-OJS9Gyv3s6pojDtl .edgeLabel span{color:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-OJS9Gyv3s6pojDtl .cluster text{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-OJS9Gyv3s6pojDtl .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-OJS9Gyv3s6pojDtl text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-OJS9Gyv3s6pojDtl .actor-line{stroke:grey}#mermaid-svg-OJS9Gyv3s6pojDtl .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-OJS9Gyv3s6pojDtl #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .sequenceNumber{fill:#fff}#mermaid-svg-OJS9Gyv3s6pojDtl #sequencenumber{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl #crosshead path{fill:#333;stroke:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .messageText{fill:#333;stroke:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-OJS9Gyv3s6pojDtl .labelText,#mermaid-svg-OJS9Gyv3s6pojDtl .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-OJS9Gyv3s6pojDtl .loopText,#mermaid-svg-OJS9Gyv3s6pojDtl .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-OJS9Gyv3s6pojDtl .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-OJS9Gyv3s6pojDtl .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-OJS9Gyv3s6pojDtl .noteText,#mermaid-svg-OJS9Gyv3s6pojDtl .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-OJS9Gyv3s6pojDtl .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-OJS9Gyv3s6pojDtl .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-OJS9Gyv3s6pojDtl .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-OJS9Gyv3s6pojDtl .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .section{stroke:none;opacity:0.2}#mermaid-svg-OJS9Gyv3s6pojDtl .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-OJS9Gyv3s6pojDtl .section2{fill:#fff400}#mermaid-svg-OJS9Gyv3s6pojDtl .section1,#mermaid-svg-OJS9Gyv3s6pojDtl .section3{fill:#fff;opacity:0.2}#mermaid-svg-OJS9Gyv3s6pojDtl .sectionTitle0{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .sectionTitle1{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .sectionTitle2{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .sectionTitle3{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-OJS9Gyv3s6pojDtl .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .grid path{stroke-width:0}#mermaid-svg-OJS9Gyv3s6pojDtl .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-OJS9Gyv3s6pojDtl .task{stroke-width:2}#mermaid-svg-OJS9Gyv3s6pojDtl .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .taskText:not([font-size]){font-size:11px}#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-OJS9Gyv3s6pojDtl .task.clickable{cursor:pointer}#mermaid-svg-OJS9Gyv3s6pojDtl .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-OJS9Gyv3s6pojDtl .taskText0,#mermaid-svg-OJS9Gyv3s6pojDtl .taskText1,#mermaid-svg-OJS9Gyv3s6pojDtl .taskText2,#mermaid-svg-OJS9Gyv3s6pojDtl .taskText3{fill:#fff}#mermaid-svg-OJS9Gyv3s6pojDtl .task0,#mermaid-svg-OJS9Gyv3s6pojDtl .task1,#mermaid-svg-OJS9Gyv3s6pojDtl .task2,#mermaid-svg-OJS9Gyv3s6pojDtl .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutside0,#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutside2{fill:#000}#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutside1,#mermaid-svg-OJS9Gyv3s6pojDtl .taskTextOutside3{fill:#000}#mermaid-svg-OJS9Gyv3s6pojDtl .active0,#mermaid-svg-OJS9Gyv3s6pojDtl .active1,#mermaid-svg-OJS9Gyv3s6pojDtl .active2,#mermaid-svg-OJS9Gyv3s6pojDtl .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-OJS9Gyv3s6pojDtl .activeText0,#mermaid-svg-OJS9Gyv3s6pojDtl .activeText1,#mermaid-svg-OJS9Gyv3s6pojDtl .activeText2,#mermaid-svg-OJS9Gyv3s6pojDtl .activeText3{fill:#000 !important}#mermaid-svg-OJS9Gyv3s6pojDtl .done0,#mermaid-svg-OJS9Gyv3s6pojDtl .done1,#mermaid-svg-OJS9Gyv3s6pojDtl .done2,#mermaid-svg-OJS9Gyv3s6pojDtl .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-OJS9Gyv3s6pojDtl .doneText0,#mermaid-svg-OJS9Gyv3s6pojDtl .doneText1,#mermaid-svg-OJS9Gyv3s6pojDtl .doneText2,#mermaid-svg-OJS9Gyv3s6pojDtl .doneText3{fill:#000 !important}#mermaid-svg-OJS9Gyv3s6pojDtl .crit0,#mermaid-svg-OJS9Gyv3s6pojDtl .crit1,#mermaid-svg-OJS9Gyv3s6pojDtl .crit2,#mermaid-svg-OJS9Gyv3s6pojDtl .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-OJS9Gyv3s6pojDtl .activeCrit0,#mermaid-svg-OJS9Gyv3s6pojDtl .activeCrit1,#mermaid-svg-OJS9Gyv3s6pojDtl .activeCrit2,#mermaid-svg-OJS9Gyv3s6pojDtl .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-OJS9Gyv3s6pojDtl .doneCrit0,#mermaid-svg-OJS9Gyv3s6pojDtl .doneCrit1,#mermaid-svg-OJS9Gyv3s6pojDtl .doneCrit2,#mermaid-svg-OJS9Gyv3s6pojDtl .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-OJS9Gyv3s6pojDtl .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-OJS9Gyv3s6pojDtl .milestoneText{font-style:italic}#mermaid-svg-OJS9Gyv3s6pojDtl .doneCritText0,#mermaid-svg-OJS9Gyv3s6pojDtl .doneCritText1,#mermaid-svg-OJS9Gyv3s6pojDtl .doneCritText2,#mermaid-svg-OJS9Gyv3s6pojDtl .doneCritText3{fill:#000 !important}#mermaid-svg-OJS9Gyv3s6pojDtl .activeCritText0,#mermaid-svg-OJS9Gyv3s6pojDtl .activeCritText1,#mermaid-svg-OJS9Gyv3s6pojDtl .activeCritText2,#mermaid-svg-OJS9Gyv3s6pojDtl .activeCritText3{fill:#000 !important}#mermaid-svg-OJS9Gyv3s6pojDtl .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-OJS9Gyv3s6pojDtl g.classGroup text .title{font-weight:bolder}#mermaid-svg-OJS9Gyv3s6pojDtl g.clickable{cursor:pointer}#mermaid-svg-OJS9Gyv3s6pojDtl g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-OJS9Gyv3s6pojDtl g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-OJS9Gyv3s6pojDtl .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-OJS9Gyv3s6pojDtl .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-OJS9Gyv3s6pojDtl .dashed-line{stroke-dasharray:3}#mermaid-svg-OJS9Gyv3s6pojDtl #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl .commit-id,#mermaid-svg-OJS9Gyv3s6pojDtl .commit-msg,#mermaid-svg-OJS9Gyv3s6pojDtl .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-OJS9Gyv3s6pojDtl g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-OJS9Gyv3s6pojDtl g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-OJS9Gyv3s6pojDtl g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-OJS9Gyv3s6pojDtl .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-OJS9Gyv3s6pojDtl .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-OJS9Gyv3s6pojDtl .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-OJS9Gyv3s6pojDtl .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-OJS9Gyv3s6pojDtl .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-OJS9Gyv3s6pojDtl .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-OJS9Gyv3s6pojDtl .edgeLabel text{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-OJS9Gyv3s6pojDtl .node circle.state-start{fill:black;stroke:black}#mermaid-svg-OJS9Gyv3s6pojDtl .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-OJS9Gyv3s6pojDtl #statediagram-barbEnd{fill:#9370db}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-state .divider{stroke:#9370db}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-OJS9Gyv3s6pojDtl .note-edge{stroke-dasharray:5}#mermaid-svg-OJS9Gyv3s6pojDtl .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-OJS9Gyv3s6pojDtl .error-icon{fill:#522}#mermaid-svg-OJS9Gyv3s6pojDtl .error-text{fill:#522;stroke:#522}#mermaid-svg-OJS9Gyv3s6pojDtl .edge-thickness-normal{stroke-width:2px}#mermaid-svg-OJS9Gyv3s6pojDtl .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-OJS9Gyv3s6pojDtl .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-OJS9Gyv3s6pojDtl .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-OJS9Gyv3s6pojDtl .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-OJS9Gyv3s6pojDtl .marker{fill:#333}#mermaid-svg-OJS9Gyv3s6pojDtl .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-OJS9Gyv3s6pojDtl {color: rgba(0, 0, 0, 0.75);font: ;}Poker类JackPoker红桃类SpadePoker黑桃类SpadeNumberPoker黑桃数字类extendsextendsextends

ts(typescript)面向对象之类的继承相关推荐

  1. ts(typescript)面向对象之静态成员

    ts(typescript)面向对象之静态成员 类的静态成员不是ts提出的新语法,而是es6中里面提出的 含义: 静态成员是指,附着在类上的成员(属于某个构造函数的成员),在ts 中的表现是在类中使用 ...

  2. ts(typescript)面向对象之索引器

    索引器 这个概念不是typescript 中提出的,而是c#中提出的 什么是索引器 我们都知道,ts 中 获取对象中的属性有好多种方式 通过点的方式来进行获取 通过属性表达式的方式进行获取 通过获取对 ...

  3. TypeScript基础入门 - 接口 - 继承接口

    转载地址 TypeScript基础入门 - 接口 - 继承接口 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.13 为 ...

  4. 面向对象-封装、继承、多态

    面向对象-封装.继承.多态 面向对象-封装 一.封装: private 数据类型 _名字;   --成员变量 public 默认一致 名字 属性 {  get{ return _名字; }  set{ ...

  5. Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day09[面向对象(封装.继承.多态).重写.私有权限] Python基础day ...

  6. JavaScript面向对象——理解构造函数继承(类继承)

    JavaScript面向对象--理解构造函数继承(类继承) 构造函数式继承(类继承) function SuperClass(id) {// 引用类型公有属性this.books = ['JavaSc ...

  7. JavaScript中OOP——面向对象中的继承/闭包

      前  言  OOP  JavaScript中OOP-->>>面向对象中的继承/闭包 1.1面向对象的概念 使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方法.      ...

  8. javascript 中面向对象实现 如何继承

    上一篇博客已经说了关于javascript中的封装, 其中也说了javascript中本来是没有类的,我们上一篇的封装也是用javascript中的函数去模拟一个类,最后我们还模拟了一个构造函数.那 ...

  9. python面向对象思路_Python面向对象三要素-继承(Inheritance)

    Python面向对象三要素-继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承概述 1>.基本概念 前面我们学习了Python的面向对象三 ...

  10. Java基础之面向对象的概念 继承---组合----枚举类

    Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...

最新文章

  1. 一句话后门中eval和assert的区别
  2. 51单片机的定时器深入讲解
  3. java 外部接口调用 设计模式_《Java设计模式》之接口模式
  4. Workbox CLI v3.x 中文版
  5. java ee 值范围_JAVAEE之内置对象和属性范围
  6. 深入浅出WPF之我件2
  7. 【知识图谱】Neo4j 删除、清空数据库的方法
  8. exagear安装java_exagear模拟器怎么使用 exagear模拟器使用方法安装教程
  9. 3G门户GO手机浏览器第一时间试用
  10. 【R语言数据科学】(十二):有趣的概率学(上)
  11. 华为升级emui10是鸿蒙系统吗,华为鸿蒙正式发布,EMUI10.0即将登场,你需要这份升级名单吗?...
  12. NPAPI 为什么会被 Chrome 禁用
  13. python远程聊天_python工具,微信聊天、自动回复、手机微信远程控制电脑
  14. stm32开发之使用Keil MDK以及标准外设库创建STM32工程
  15. 2022 CSP 游记
  16. 网上书店(基于JavaWeb和Mysql)项目
  17. HEP World‘s Classics寄语
  18. 腾讯天美后端2018实习一面面经
  19. 一种基于智能卡登录Windows系统的实现方式
  20. 计算机专业含金量高的证书

热门文章

  1. Gerrit代码检查工具
  2. Python-接口自动化(四)
  3. BT宝塔面板关闭强制绑定手机注册
  4. 电脑链接打印机方法(TCP/IP连接,Windows10适用,其他版本未验证)
  5. Android 退出登录功能
  6. python flask token_Flask 用户名密码登录获取token
  7. GIS公司分布图GIS院校分布图
  8. 必看! 为什么“吉祥物”可以提高UI设计以及品牌影响力
  9. android studio Available qualifiers(可用资源限定符)笔记(待完善)
  10. 苹果电脑Chrome浏览器截网页长图