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

实验内容

  • 初步掌握单元测试和TDD
  • 理解并掌握面向对象三要素:封装、继承、多态
  • 初步掌握UML建模
  • 熟悉S.O.L.I.D原则
  • 了解设计模式
  • ###1.初步掌握单元测试和TDD
    #####进行复数类的编写,实现了加减乘除功能。

    刚开始的时候,传入的参数是复数的实部与虚部,然后直接打印出加减乘除后的结果,没有返回值。但是在要进行单元测试的时候发现如果没有返回值的话就没法检验预期与实际的结果是否相同。于是建了一个复数类,存放复数的实部与虚部,然后进行加减乘除的时候

    public static Complex add(Complex com1, Complex com2)

    传入的是复数的实例,返回的也是复数实例。然后对equals方法进行改写

        @Override
    public boolean equals(Object obj) { Complex c = (Complex)obj;
    if((Math.abs(c.getReal()-this.getReal())<0.00001)&&(Math.abs(c.getUnreal()-this.getUnreal())<=0.0001))
    return true;
    else
    return false;
    }

    然后根据教程使用单元测试,右击->Generate->JUnit Test

    @Test
    public void testAdd() throws Exception {
    Assert.assertEquals(new Complex(0, 2), Oporate.add(new Complex(0, 1), new Complex(1, 1)));
    }

    如果期望与实际不相符的时候,会具体指出是哪个地方不相符

    但是存在问题是不能直观看到期望值与实际值。于是进行对toString()方法进行改写。

     @Override
    public String toString() {
    return "[" +getReal() + (getUnreal()>0?"+":"") + getUnreal()+"]";
    }

    2.初步掌握UML建模

    并生成java代码,但是由于刚开始用UML生成的java代码就显得很简陋了,还需不断熟悉。

    3.熟悉S.O.L.I.D原则

    1.Single Responsibility Principle (SRP) – 职责单一原则

    2.Open/Closed Principle (OCP) – 开闭原则

    3.Liskov substitution principle (LSP) – 里氏代换原则

    4.Interface Segregation Principle (ISP) – 接口隔离原则

    5.Dependency Inversion Principle (DIP) – 依赖倒置原则

    20145113 实验二 Java面向对象程序设计的更多相关文章

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

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

    2. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

      20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

    3. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

      20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

    4. 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告

      20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...

    5. JAVA课程实验报告 实验二 Java面向对象程序设计

      北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

    6. 20145225唐振远 实验二 "Java面向对象程序设计"

      20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

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

      20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

    8. 20162311 实验二 Java面向对象程序设计 实验报告

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

    9. 20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计

      20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...

    随机推荐

    1. JQ写下拉列表项目移动(内附效果图和源代码)

      效果图如下: 实现功能:点击第一个按钮,让选中的对象从左边移动到右边: 点击第二个按钮,让左边的所有对象移动到右边: 点击第三个按钮,让选中的对象从右边边移动到左边:   点击第四个按钮,让右边的所有 ...

    2. Query Designer中的特征限制(Characteristic Restrictions)、缺省值(Default Values)、自由特性(Free Characteristics)

      声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

    3. Consul Template的简单使用

      Consul Template的使用 1安装 地址 https://github.com/hashicorp/consul-template/releases wget https://release ...

    4. HTML表格与列表

      HTML表格 表格其实就是很多的小单元格,而这些小单元格很有次序的排列着,它们有很多行,很多列.这些很多行列组成的东西,就叫表格,表格是<table>标签来定义的.而<table&g ...

    5. css模块化策略

      为什么要模块化? 分治和复用 封装,不污染全局,不被全局污染. 继承 BEM(block:块,Element:元素,Modifier:修饰符)策略 .block__Element--Modifier ...

    6. 深入浅出设计模式——迭代器模式(Iterator Pattern)

      模式动机 一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构.针对不同的需要,可能还要以不同的方式遍历整个聚合对象,但是我 ...

    7. ns3 Tutorial 中的日志模块(翻译)

        转载地址:http://blog.sina.com.cn/s/blog_8ecca79b0101d7fe.html     1  日志模块的使用   在运行 first.cc 脚本时,我们已经简单 ...

    8. TCP/IP知识点汇总

      1.HUB.Switch.Router在OSI模型中分别是第几层设备,各层的名称是什么? 2.TCP/IP 协议栈及 OSI 参考模型详解

    9. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

      12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

    10. angular.js学习笔记

      1.带ng-repeat的标签  会重复这个标签及其内部的内容,直至x循环完 比如 <tr ng-repeat="x in names | orderBy : 'Name'" ...