UML类图关系
UML可以用来表达类和类直接的关系,用于软件的建模。UML用的最多的就是类图。
泛化
泛化在C++的代码实现即表示为继承关系
继承
泛化关系的C++代码实现:
class Shap {
public:
Shap() {}
virtual ~Shap(){}
virtual int Draw() = 0;
private:
std::string name;
};
class Circle : public Shap { // public继承Shap
public:
Circle(){}
~Circle(){}
virtual int Draw() {}
priavte:
std::string len;
}
class Rectangle : public Shap { // public继承Shap
public:
Rectangle(){}
~Rectangle(){}
virtual int Draw() {}
priavte:
std::string len;
}
依赖
依赖在C++代码中可以表示为一个类作为参数,传递给另外一个类或者作为函数返回值,即依赖
依赖
依赖关系的C++代码实现:
class Car {
public:
Car(){}
~Car(){};
private:
int _price;
}
class Driver {
public:
Driver(){}
~Driver(){}
int Drive(Car &car){} // 依赖关系
private:
std::string _id;
}
关联
关联在C++中表示为,一个类是另外一个类的成员变量
关联
关联的C++代码实现
class Car {
public:
Car(){}
~Car(){};
private:
int _price;
}
class Driver {
public:
Driver(){}
~Driver(){}
int Drive(){}
private:
std::string _id;
Car _car; //关联关系
}
聚合
表示整体和部分的关系,例如:汽车和发动机(发动机可以选择不同型号)。在C++中也用成员变量表示。
聚合
组合
组合表示生命体整体和部分的关系,例如:人和心脏。在C++中也用成员变量表示。
组合