C# & Unity 面向对象补全计划 之 画UML类图(持续更新)

本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正

本系列旨在通过补全学习之后,给出任意类图都能实现并做到逻辑上严丝合缝

学会这套规则,并看完面向对象补全计划文章之后,可以尝试实现任意逻辑的类图了

前置文章:

C# & Unity 面向对象补全计划 之 访问修饰符-CSDN博客

C# & Unity 面向对象补全计划 之 类class-CSDN博客

C# & Unity 面向对象补全计划 之 继承(字段与属性)-CSDN博客

C# & Unity 面向对象补全计划 之 初识继承方法与多态-CSDN博客

C# & Unity 面向对象补全计划 之 接口-CSDN博客

1.类图的规则

我使用的类图软件:

类图规则介绍:

UML访问修饰符

UML属性(对应c#的字段与属性两部分)

举例:

UML方法的参数和返回值

举例:

2.举栗子

2.1类

比如我有一个Computer类,有一系列常见的属性与方法,我就可以画出类图

2.2继承

众所周知,电脑按照形态分为很多种,比如:

Desktop Computer,Laptop/Notebook,All-in-One PC

那么就可以画出子类对父类的继承(只举一个栗子):

代码实现:

cs 复制代码
public class Computer
{
    protected string cpu;
    protected string gpu;
    protected int rom;
    protected int storage;

    protected void UpdateOS()
    {
        // 更新操作系统逻辑
    }

    protected void CheckHardwareStatus()
    {
        // 检查硬件状态逻辑
    }

    protected void InstallSoftware(string software)
    {
        // 安装软件逻辑
    }

    protected void UninstallSoftware(string software)
    {
        // 卸载软件逻辑
    }

    protected void ConnectToNetwork()
    {
        // 连接网络逻辑
    }
}

public class DesktopComputer : Computer
{
    private string CaseType;
    private int MonitorSize;

    private void ReplaceHardware()
    {
        // 更换硬件逻辑
    }

    private void AdjustMonitorSettings()
    {
        // 调整显示器设置逻辑
    }
}

2.3 接口

相关推荐
EveryPossible12 分钟前
静态箭头连线
开发语言·javascript·ecmascript
NiKo_W14 分钟前
Git 版本回退与撤销修改
开发语言·git·安全
listhi52022 分钟前
Map对象在JavaScript循环中的使用
开发语言·前端·javascript
大可门耳34 分钟前
Qt第一课:Qt是什么?相对于其他框架的优劣势是什么
开发语言·qt
呵呵哒( ̄▽ ̄)"37 分钟前
专项智能练习(行为主义学习理论)
学习
贝塔实验室39 分钟前
两种常用的抗单粒子翻转动态刷新方法
论文阅读·经验分享·笔记·科技·学习·程序人生·fpga开发
西阳未落2 小时前
C语言中的内存函数(memcpy, memmove, memcmp, memset)
c语言·开发语言
你真的可爱呀2 小时前
5.Three.js 学习(基础+实践)
学习·three.js
axban4 小时前
QT M/V架构开发实战:QFileSystemModel介绍
开发语言·qt·架构