类图画法描述
类
这代表一个类,第一层是名称,第二层是属性,第三层是函数
第一层如果是斜体,代表抽象类
后两层前面的符号,+代表是public,-代表private,#代表protected
类的继承
class Student : public Person
类的关联(association)
类A中有一个B的对象,使A能够知道B的属性和方法,则A->B
,单向关联,若A中有B的对象,B中也有A的对象,则A<->B
,此为双向关联
class Student{
private:
Phone* m_phone;
};
类的聚合(aggregation)
是一种强关联,体现了部分和整体,跟关联主要是概念上的区分
class School{
private:
std::vector<Student> m_members_vec;
};
类的组合(composition)
必聚合的关联还要强,也是体现了部分和整体,并且他们的声明周期是一样的,跟关联/聚合也是只有概念上的区别
class Phone{
private:
Cpu* m_cpu;
};
类的依赖(dependency)
在类A中使用了类B,A依赖B,A------>B
class School{
public:
void teach(Teacher & teacher);
};