理清类图,辨识UML

类图

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() {

	}
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C葭葭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值