你好世界
  • 入门
  • 框架
  • Webpack
  • 模式
  • 知识点
  • 面试题
  • Koa
  • Java
  • Python
  • MongoDB
  • Redis
  • Algorithm
  • AI 概述
  • 机器学习
  • 深度学习
  • 自然语言处理
  • 关键词说明
  • 使用技巧
  • 本地模型安装及下载
  • 调试
  • 测试
  • GIT
  • Network
  • Linux
  • VSCode
  • GitHub
  • Mock
  • 入门
  • 框架
  • Webpack
  • 模式
  • 知识点
  • 面试题
  • Koa
  • Java
  • Python
  • MongoDB
  • Redis
  • Algorithm
  • AI 概述
  • 机器学习
  • 深度学习
  • 自然语言处理
  • 关键词说明
  • 使用技巧
  • 本地模型安装及下载
  • 调试
  • 测试
  • GIT
  • Network
  • Linux
  • VSCode
  • GitHub
  • Mock
  • DesignMode

    • 设计模式
    • 面向对象
    • UML 类图
    • 设计原则
    • 面试题分析
    • 工厂模式
    • 单例模式
    • 适配器模式
    • 装饰器模式
    • 代理模式
    • 外观模式(网关?)
    • 观察者模式
    • 迭代器模式
    • 状态模式
    • 其它设计模式
  • SoftwareArchitecturePatterns

    • SoftwareArchitecturePatterns (软件架构模式)
    • MVVC
    • MVC
    • MVP

UML 类图

Unified Modeling Language统一建模语言

类图,UML包含很多种图,和本课相关的是类图

类名
+public属性名A:类型
#protected属性名B:类型
-private属性名C:类型
+public方法名A(参数1,参数2):返回值类型
#protected方法名B(参数1,参数2):返回值类型
-private方法名C(参数1):返回值类型

示例-1

class People {
  constructor(name, age){
    this.name = name;
    this.age = age
  }
  eat() {
    alert('吃饭饭')
  }
  speak() {
    alert("说话话")
  }
}
示例-1

关系

  • 泛化,表示继承
  • 关联,表示引用

示例-2

class People {
  constructor(name, honse) {
    this.name = name
    this.honse = honse
  }
  saySomething(){
  }
}

class A extends People {
  constructor(name, honse) {
    super(name, honse)
  }
  saySomething(){
    alert('I am A')
  }
}

class B extends People {
  constructor(name, honse){
    super(name, honse)
  }
  saySomething(){
    alert('I am B')
  }
}

class Honse {
  constructor(city) {
    this.city = city
  }
  showCity() {
    alert(`家在 ${this.city}`)
  }
}

// 测试
let aHouse = new House('北京')
let a = new A('aaa' , aHouse)
console.log(a) // a 有房子
let b = new B('bbb')
console.log(b) // b无房子
示例-2
最后更新时间: 3/7/22, 9:11 PM
贡献者: DESKTOP-ER5718D\zt
Prev
面向对象
Next
设计原则