理清类图,辨识UML

2024-01-10 14:18:16

类图

public 用 + 表示
protected 用 # 表示
private 用 - 表示
在这里插入图片描述

class Person
{
public:
	void setName(std::string name) {
		this->name = name;
	}
	std::string getName() {
		return this->name;
	}
public:
	int nationality;//国籍
protected:
	int idCard;//身份证号
private:
	std::string name;//姓名
};

类图关系

在这里插入图片描述

关联

在这里插入图片描述

class QQZone
{

};

class QQNumber
{
	QQZone zone;
};

双向关联

在这里插入图片描述


class Water;
class Climate
{
	Water* m_water;
};
 
class Water
{
	Climate* m_climate;
};

组合

在这里插入图片描述

class Wings {};
class Goose
{
public:
	Goose() {
		m_wings = new Wings;//组合关系
	}
private:
	Wings* m_wings;
};

聚合

在这里插入图片描述

class Wings {};
class Goose
{
public:
	Goose(Wings* pWings):m_wings(pWings){//聚合关系
	}
private:
	Wings* m_wings;
};

依赖

1、Water作为Animal类某个方法中的局部变量
2、Water作为全局类,Animal直接调用Water类
3、Water类作为Animal类某个方法中参数或者返回值

在这里插入图片描述

class Water
{
};
 
class Animal
{
	void Drink()
	{
		//注意:持有Water类的是Drink方法,而不是Animal类。Drink被调用时Water类才被实例化
		//2、 的例子
        Water *water = new Water;
	}
};

继承

在这里插入图片描述

class Car
{

};

class Jeep: public Car
{

};

实现接口

在这里插入图片描述

class Interface_A {
public:
	virtual void test() = 0;
};
class Class_A
{
public:
	void test() {

	}
};

文章来源:https://blog.csdn.net/YHB123___ahnd/article/details/135495648
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。