OMT画图的五种结构表达方式

  1. 实例化:A类依赖于B类。

    javascript 复制代码
    class B {
      doSth () {
    
      }
    }
    
    class A {
      constructor () {}
    
      run () {
        const b = new B()
        b.doSth()
      }
    }
    
    new A().run()
  2. 委托:A对象依赖于B对象。

    javascript 复制代码
    class B {
      doSth () {
    
      }
    }
    const b = new B()
    
    class A {
      constructor () {}
    
      run () {
        b.doSth()
      }
    }
    new A().run()
  3. 聚合:A对象和B对象是"has-a"关系。

    javascript 复制代码
    class Student {  
      constructor(name) {  
        this.name = name  
      }
    }
    
    class Classroom {  
      constructor() {  
        this.students = []  
      }
    
      addStudent(student) {  
        this.students.push(student)  
      }  
    }
    
    let student1 = new Student('Alice')  
    let student2 = new Student('Bob')  
    let classroom = new Classroom()  
    classroom.addStudent(student1)  
    classroom.addStudent(student2)
  4. 组合:A对象和B对象是"is-a"关系。

    javascript 复制代码
    class Creature {  
      constructor(name) {  
        this.name = name  
      }  
    }  
    
    class Eye {  
      constructor(color) {  
        this.color = color  
      }  
    }  
    
    class Human extends Creature {  
      constructor() {  
        super('Human')  
        this.leftEye = new Eye('blue')  
        this.rightEye = new Eye('brown')  
      }  
    }
  5. 继承:A类和B类是"is-a"关系。

相关推荐
郝学胜-神的一滴3 天前
深入解析C++命令模式:设计原理与实际应用
开发语言·c++·程序人生·软件工程·命令模式
紫金桥软件3 天前
组态软件和实时数据库区别大吗?
数据库·物联网·软件工程·scada·监控组态软件
HLJ洛神千羽4 天前
人机交互的软件工程方法实验报告(黑龙江大学)
人机交互·软件工程
文火冰糖的硅基工坊4 天前
[人工智能-大模型-97]:大模型应用层 - 随着技术的发展,软件工程与软件开发过程提效演进阶段(工具化 → 流程化 → 智能化)和未来的展望。
人工智能·软件工程
张较瘦_5 天前
[论文阅读] AI + 软件工程 | 从“能用”到“耐用”:LLM生成软件的老化陷阱与研究突破
论文阅读·人工智能·软件工程
雾江流7 天前
快指点击器 1.1.9 | 支持多点操作、自动化脚本,操作记录等功能,快速解放双手
运维·自动化·软件工程
lapiii3588 天前
14天极限复习软考-day5 软件工程 、UML
软件工程·uml
雾江流8 天前
LocalDream 2.1.2 |在手机设备上运行SD模型,支持文本到图像生成和图像重绘,无任何限制
软件工程
雾江流9 天前
vidhub v1.3.13 |聚合主流网盘,自动刮削整理影视资源,有网盘会员的可入,或者使用不限速网盘
软件工程
数学小牛马10 天前
现代软件工程课程 个人博客作业2-结对编程项目总结
软件工程·结对编程