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 接口

相关推荐
学习编程的Kitty2 分钟前
JavaEE初阶——多线程(5)单例模式和阻塞队列
java·开发语言·单例模式
懒羊羊不懒@23 分钟前
JavaSe—Stream流☆
java·开发语言·数据结构
Bathwind-w25 分钟前
空间矢量脉宽调制(Space Vector Pulse Width Modulation)SVPWM基础
学习
小苏兮26 分钟前
【把Linux“聊”明白】自动化构建-make/Makefile详解
linux·服务器·学习·自动化·1024程序员节
XH1.32 分钟前
学习RT-thread(项目一:基于RT-thread的multi_button控制灯闪烁)
stm32·单片机·学习
Js_cold37 分钟前
(* clock_buffer_type=“NONE“ *)
开发语言·fpga开发·verilog·vivado·buffer·clock
周杰伦_Jay1 小时前
【Go微服务框架深度对比】Kratos、Go-Zero、Go-Micro、GoFrame、Sponge五大框架
开发语言·微服务·golang
杰瑞哥哥1 小时前
标准 Python 项目结构
开发语言·python
shykevin1 小时前
Rust入门
开发语言·后端·rust
QT 小鲜肉1 小时前
【个人成长笔记】将Try Ubuntu里面配置好的文件系统克隆在U盘上(创建一个带有持久化功能的Ubuntu Live USB系统)
linux·开发语言·数据库·笔记·ubuntu