一、小序
临近高级语言程序设计这门课的考试,看到了用例图里的一题,遂总结一下<< include >>和<< extend >>和区别。
二、<< include >>
用例图里,
可以看出行为A和C都 include 了B,字面意思就是A和C都 包含 了B,没错,B是A,C都包含的东西,B只是被我们从A和C中抽出来罢了,A和C都知道B的存在,但B自然是井底之蛙,看不清全貌的。
也就是,被指,就是被包含,指向谁,就是包含谁。
三、<< extend >>
extend 字面意思是什么?——拓展。
没错,看下图
这里B和C都指向A,也就是B,C都拓展了A,和<< include >>相反,A并不知道B,C的存在,但B,C知道A的存在。并且,B,C在知道A的前提下,拓展了A。
举个例子:
A:付款
B:用支付宝付款
C:用微信付款
是不是显而易见呢?也就是说,付款可以用支付宝/微信,B和C拓展了A哦。
被指,就是被拓展,指向谁,就是拓展谁。