![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件构造
文章平均质量分 50
l151616
这个作者很懒,什么都没留下…
展开
-
哈工大软件构造期末复习----可复用性和可维护性
一、 可复用性两类软件复用:1. 面向复用编程:开发出可复用的软件;2. 基于复用编程:利用已有的可复用软件搭建应用系统。两类源码级别的复用:1. 白盒复用:源代码可见,可修改和扩展。2. 黑盒复用:源代码不可见,不能修改;只能通过API接口来使用。Liskov替换原则(LSP):更强的不变量、更弱的前置条件、更强的后置条件。协变:父类到子类越来越具体;返回值类型不变或更具体;异常的类型不变或更具体。逆变:父类到子类越来越具体;参数类型不变或越来越抽象。Java不支持逆变;去掉@Override将视为重载。原创 2022-06-14 18:07:59 · 164 阅读 · 1 评论 -
哈工大软件构造实验二心得体会3
在FriendshipGraph需要实现的方法如下图所示:FriendshipGraph构造方法addVertex在图中增加新Person,只需要调用ConcreteEdgesGraph中的add即可:addEdge为某个人增加朋友,a为这个人,b为增加的朋友,直接调用ConcreteEdgesGraph中的set即可:getallprople直接返回即可:getDistance得到两个人之间的最短距离。与Lab1类似,稍加修改即可:实现此功能我们需要了解先广方式求最短路径的方法。首先我们需要知道若两个Pe原创 2022-06-03 17:09:18 · 71 阅读 · 0 评论 -
哈工大软件构造实验二心得体会2
软件构造实验二第一部分原创 2022-06-02 19:02:52 · 95 阅读 · 0 评论 -
哈工大软件构造实验二心得体会
P1.思路:这是针对Graph<String>设计相应的测试策略,主要针对里面的每个方法进行等价类划分的测试。 P2.思路:这次实验要求我们基于Poetic Walks中定义的Graph<L>及其两种实现(本人使用的是ConcreteVerticesGraph<L>),实现Lab1中Social NetWorek中的各种功能,并且尽可能复用ConcreteVerticesGraph<L>中已经实现的方法,然后运行提供的main()和执行Lab1中的Jun原创 2022-05-29 23:06:13 · 96 阅读 · 0 评论