实验二 Java面向对象程序设计

实验内容

  1. 初步掌握单元测试和TDD
  2. 理解并掌握面向对象三要素:封装、继承、多态
  3. 初步掌握UML建模
  4. 熟悉S.O.L.I.D原则
  5. 了解设计模式

S.O.L.I.D原则:

  • SRP(Single Responsibility Principle,单一职责原则)
  • OCP(Open-Closed Principle,开放-封闭原则)
  • LSP(Liskov Substitusion Principle,Liskov替换原则)
  • ISP(Interface Segregation Principle,接口分离原则)
  • DIP(Dependency Inversion Principle,依赖倒置原则)

1.使用TDD的方式设计关实现复数类Complex

按要求,建一个test测试文件(Junit Test Case)。

整数测试都还好,但是当设计了一个2.0-1.4的测试数据后,出现了红色条。Bad News!

将test内容复制到一个main函数中。查看细节:

因为复数的实部和虚部都是double类型,所以相关运算会出现误差。所以在Complex类中重新定义equals方法:

用assertTrue来判断结果是否符合预期:

test成功:

2.使用UML

但是关于怎么生成代码一直找不到。。。各种菜单,右键,都没有。。。

PSP(Personal Software Process)时间

步骤 耗时 百分比
需求分析 0 0%
设计 5min 5%
代码实现 15min 15%
测试 75min 75%
分析总结 5min 5%

总结

测试真的是重要而费时费力啊!

最新文章

  1. WCF学习之旅—WCF服务部署到IIS7.5(九)
  2. Scrapy开发指南
  3. C# winform TreeView中关于checkbox选择的完美类
  4. AngularJS入门心得2——何为双向数据绑定
  5. 不可或缺 Windows Native (11) - C++: hello c++, C++ 与 C语言的区别小介
  6. 大熊君说说JS与设计模式之(门面模式Facade)迪米特法则的救赎篇------(监狱的故事)
  7. javascript的window.onload()方法和jQuery的$(document).ready()的对比
  8. JS-009-屏幕分辨率、浏览器显示区域、元素位置获取
  9. ajax学习笔记1
  10. WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞
  11. dataguard dubugs
  12. ACdream 1064 完美数
  13. Visual Studio 2017 Bugs
  14. Abp中使用可视化的日志面板
  15. Python编程从入门到实践笔记——文件
  16. Crashing Robots(水题,模拟)
  17. synchronized 和reentrantlock的优缺点
  18. Oracle 常用的查询操作
  19. linux常用命令:ls命令
  20. php判断正常访问和外部访问

热门文章

  1. Python捕获异常
  2. php 使用curl 进行简单模拟提交表单
  3. 3D游戏引擎〇 開始
  4. python实现抓取必应图片设置桌面
  5. RecyclerView上拉隐藏Toolbar,下拉显示
  6. Windows查看网络端口被占用情况netstat命令
  7. git 四个基本对象、分支、三个存储区、reset-revert-变基、cherry-pick
  8. quartz定时任务配置
  9. ASP.Net请求处理机制初步探索之旅 - Part 2 核心(转)
  10. 学习使用turtlebot2——ROS上安装turtlebot2