zoukankan      html  css  js  c++  java
  • 20165302实验二java面向对象程序设计

    20165302实验二java面向对象程序设计

    实验结果

    提交点1

    1.实验要求:

    2.运行截图

    3.代码链接

    MyUtil.java

    MyUtilTest.java

    提交点2

    1.实验要求

    • 参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)以 TDD的方式研究学习StringBuffer
    • 提交你的单元测试用例和测试通过的截图,截图要加上学号水印
      测试要点:测试自己会不会写JUnit测试用例

    2.实验截图

    3.代码链接

    StringBufferDemo.java

    StringBufferDemoTest

    提交点3

    1.实验要求

    • 参考http://www.cnblogs.com/rocedu/p/6736847.html对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
    • 让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印

    2.实验截图

    3.代码链接

    MyDoc

    提交点4

    1.实验要求

    • 参考http://www.cnblogs.com/rocedu/p/6736847.html
    • 以TDD的方式开发一个复数类Complex,要求如下:

    // 定义属性并生成getter,setter

    double RealPart;
    double ImagePart;
    // 定义构造函数

    public Complex()
    public Complex(double R,double I )
    //Override Object

    public boolean equals(Object obj)
    public String toString()
    // 定义公有方法:加减乘除

    Complex ComplexAdd(Complex a)
    Complex ComplexSub(Complex a)
    Complex ComplexMulti(Complex a)
    Complex ComplexDiv(Complex a)

    2.面向对象三要素是“封装、继承、多态”,任何面向对象编程语言都会在语法上支持这三要素。如何借助抽象思维用好三要素特别是多态还是非常困难的,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,依赖倒置原则)

    3.编写伪代码

    double RealPart;复数的实部
     
    double ImagePart;复数的虚部
    
    getRealPart():返回复数的实部
    
    getImagePart();返回复数的虚部
    
    setRealPart():设置复数的实部
    
    setImagePart();设置复数的虚部
    
    输出形式:a+bi
    

    4.实验截图

    5.代码链接

    Complex.java

    ComlexTest.java

    提交点5

    1.实验要求

    实验中遇到的问题和解决问题

    1.在装JUnit插件的过程中遇到了问题,没有搜到可以安装的插件

    解决方法:如图,点击

    2.在添加了junit.jar包后还是有红字

    解决方法:在同学的指导下添加了junit-4.12.jar问题得到解决

    3.根据实验2-1的教程做完后有两个测试没有通过

    解决方法:发现代码中少了小于0的部分和边界的情况,在产品代码加入后问题得到解决

    实验总结

    通过这次实验我更好的了解了java语言面向对象的特点,学会了Junit的使用,虽然UML图还不会画,但是我一定会在以后的学习中逐步掌握。简单了解了S.O.L.I.D原则,虽然还有很多不懂的地方,不过也算有所收获。

  • 相关阅读:
    绘图QPainter-画刷
    绘图QPainter-画笔
    pyqt5-多线程QThread类
    升级时出现错误的解决办法
    打包pyinstaller
    多文档界面QMdiArea
    停靠窗口QDockWidget
    堆叠窗口QStackedWidget
    VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
    【一】ODB
  • 原文地址:https://www.cnblogs.com/dky20165302/p/8906144.html
Copyright © 2011-2022 走看看