TDD的通常步骤:java
TDD的编码节奏:程序员
过程抽象的结果是函数,数据抽象的结果是抽象数据类型(Abstract Data Type,ADT),类能够做具备继承和多态机制的ADT。数据抽象才是OOP的核心和起源。算法
OO三要素的第一个要素是封装,封装就 是将数据与相关行为包装在一块儿以实现信息就隐藏。
封装实际上使用方法(method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,从而带来模块化(Modularity)和信息隐藏(Information hiding)的好处;接口(interface)是封装的准确描述手段。
UML建模:
在UML 里,一个类的属性能显示它的名字,类型,初始化值,属性也能够显示private,public,protected。 类的方法能显示它们的方法名,参数,返回类型,以及方法的private,public,protected属性。其中:
+表示public
表示protected
-表示private
UML类图要展现类之间的静态关系,UML中依赖用带箭头的直线表示
UML类图中继承的表示法是用一个带三角的直线指向父类
继承指一个类的定义能够基于另一个已经存在的类,即子类基于父类,从而实现父类代码的重用。既存类称做基类、超类、父类(base class、super class、parent class),新类称做派生类、继承类、子类(derived class、inherited class、child class)。继承关系表达了”Is a kind of“的关系,称为“ISA”关系。继承的关键在于确认子类为父类的一个特殊类型。
继承是实现软件可重用的根基,是提升软件系统的可扩展性与可维护性的主要途径。
以封装为基础,继承能够实现代码复用,须要注意的是,继承更重要的做用是实现多态。
面向对象中容许不一样类的对象对同一消息作出响应,即同一消息能够根据发送对象的不一样而采用多种不一样的行为方式,咱们称此现象为多态性。Java中,多态是指不一样的类对象调用同一个签名的成员方法时将执行不一样代码的现象。多态是面向对象程序设计的灵活性和可扩展性的基础。
编程
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式。让系统支持Double类,并在MyDoc类中添加测试代码代表添加正确,提交测试代码和运行结的截图,加上学号水印
设计模式
复数运算: 定义复数 定义构造函数 定义共有方法:加减乘除
public class Complex{ private double r; private double i; public Complex(double r, double i) { this.r = r; this.i = i; } public static double getRealPart(double r) { return r; } public static double getImagePart(double i) { return i; } public Complex ComplexAdd(Complex a) { return new Complex(r + a.r, i + a.i); } public Complex ComplexSub(Complex a) { return new Complex(r - a.r, i - a.i); } public Complex ComplexMulti(Complex a) { return new Complex(r * a.r - i * a.i, r * a.i + i * a.r); } public Complex ComplexDiv(Complex a) { return new Complex((r * a.i + i * a.r)/(a.i * a.i + a.r * a.r), (i * a.i + r * a.r)/(a.i * a.i + a.r * a.r)); } public String toString() { String s = " "; if (i > 0) s = r + "+" + i + "i"; if (i == 0) s = r + ""; if (i < 0) s = r + " " + i + "i"; return s; } }
我我的的感觉而言,单元测试提供了一种高效快速的测试代码正确性的方法,能够对代码进行修复和完善,这样可让咱们的代码写的更好,更加完善,经过边界状况,正确状况的测试也能找出代码中不正确的地方。一开始不知道怎么作,参考了关于单元测试。本身有了不少思考,成长了许多。编程语言