web前端進(jìn)階之js設(shè)計(jì)模式UML類圖篇

概念

  • Unified Modeling Language 統(tǒng)一建模語言

UML包含很多中圖,本篇章主要分享類圖,掌握泛化(類之間的繼承)和關(guān)聯(lián)(類之間的組合或者是引用)

在線工具

規(guī)范

image.png

操作方式

  • 新建


    image.png
  • 選擇UML類圖,類選項(xiàng),拖拽到面板上


    image.png
  • 根據(jù)以下代碼畫出UML類圖
class People {
    constructor(name, age) {
        this.name = name
        this.age = age
    }
    eat() {
        alert(`${this.name} eat something`)
    }
    speak() {
        alert(`My name is ${this.name}, age ${this.age}`)
    }
}

name字符串類型,age類型是number,函數(shù)沒有返回值就是void


image.png
  • 類之間具有繼承和相互引用關(guān)系的UML類圖
// 1、繼承關(guān)系:A和B繼承了People
// 2、關(guān)聯(lián)關(guān)系:在People里面引用了house,this.house 是house類型
class People {
    constructor(name, house) {
        this.name = name
        this.house = house
    }
    saySomething() {

    }
}

class A extends People {
    constructor(name, house) {
        super(name, house)
    }
    saySomething() {
        console.log('this is a')
    }
}

class B extends People {
    constructor(name, house) {
        super(name, house)
    }
    saySomething() {
        console.log('this is b')
    }
}

class House {
    constructor(city) {
        this.city = city
    }
    showCity() {
        console.log(this.city)
    }
}

let aHouse = new House('北京')
// 把a(bǔ)House當(dāng)做參數(shù)類型進(jìn)行傳遞進(jìn)去
let a = new A('aaa', aHouse)
console.log(a)  //city--- 北京
let b = new B('bbb')
console.log(b) //city---undefined
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • UML概述 UML簡介 UML (Unified Modeling Language)為面向?qū)ο筌浖O(shè)計(jì)提供統(tǒng)一的...
    aron1992閱讀 599評(píng)論 0 0
  • 聲明:原創(chuàng)作品,轉(zhuǎn)載請(qǐng)注明出處http://www.itdecent.cn/p/2828874af134 這篇文...
    蛇發(fā)女妖閱讀 74,738評(píng)論 19 120
  • 我們?cè)谶M(jìn)行項(xiàng)目的時(shí)候,通過使用 UML 的面向?qū)ο髨D的方式來更明確、清晰的表達(dá)項(xiàng)目中的架設(shè)思想、項(xiàng)目結(jié)構(gòu)、執(zhí)行順序...
    充滿活力的早晨閱讀 5,060評(píng)論 2 34
  • 一、前言 很多博客里面都會(huì)涉及到UML圖,主要快速反映出程序的設(shè)計(jì)結(jié)構(gòu),類與類之間的依賴關(guān)系等,所以這個(gè)技能還是需...
    Mr丶sorrow閱讀 2,113評(píng)論 0 6
  • 一開始覺得這個(gè)題目跟第四問很像,后來仔細(xì)想想發(fā)現(xiàn)還是很不一樣。第四問的習(xí)慣是可以受用終生的,而2017 年的目標(biāo)則...
    iris_redmoon閱讀 318評(píng)論 0 0

友情鏈接更多精彩內(nèi)容