目录
继承
继承也叫作泛化关系,用于描述父子之间的关系,父类又称为基类或者超类,子类又称作派生类,在uml中,泛化关系用空心三角形的实线来表示
(1)普通继承关系
假如定义了一个person,student 以及teacher类
class Persion
{
public:
string getName()
{
return name;
}
void setName(string name)
{
this->name = name;
}
protected:
void playBasketball()
{
pass();
}
private:
void pass()
{
}
private:
string name = "Jack";
};
此类对应的uml为
class Student : public Persion
{
public:
void study()
{
}
private:
string studentNo;
};
class Teacher : public Persion
{
public:
void teach()
{
}
private:
string teacherNo;
};
那么,用uml表示这种关系应当为
(2)抽象继承关系
比如想实现一个链表(Link),插入(insert)与删除(remove)动作让子类去实现,链表本身只实现统计链表中元素个数的动作(count),然后有一个子类单向链表(OneWayLink)去实现父类没有实现的动作,c++代码为:
// 抽象类(含有纯虚函数的类)
class Link
{
public:
virtual void insert() = 0;
virtual void remove() = 0;
int count()
{
return 0;
}
};</