- 博客(11)
- 收藏
- 关注
原创 软件构造系列(九)增强健壮性与正确性
我们前面说过,一个程序前置条件越低,后置条件越强,它的强度就会越高,那么这里的健壮性和正确性也是如此,让我们的程序更加完善,变成一个更加实用的程序。
2020-06-17 13:56:29
366
原创 软件构造系列(七)一种面向可复用和可维护的设计模式
说白了就是合理利用继承,委托,接口以达到最大程度的抽象,这样复用性就会高,然后抽象好改,所以可维护性也会高,多说无益,像往常一样直接举例说明。现在我们要构造两个人,一个小明,一个小红,每个人有两个操作,吃和睡,小明吃得多,睡得多,小红吃得少,睡得少。那么开始构造,直接上图:
2020-06-17 13:55:16
238
原创 软件构造系列(六)比较器与正则表达式的使用
我们平时给数组排序都用的sort方法,那么怎么给我们自己创建的类排序呢,这时我们就要给我们类一个可以比较大小的方法,也就是这里的比较器,这里有两种写法。Comparable为内部比较器,一般你钦定一定会按某种方法排序,就用这个。Comparator为外部比较器,因为在外面,你可以写很多个外部比较器,按实际情况选择对应的比较器,比较灵活。有了比较器,我们还需要排序工具,这里我一般使用Collections里的sort方法来进行排序,简单好用。下面我还是用举例子的方式来说明,我们现在要根据年龄升序给
2020-06-17 13:54:47
623
原创 软件构造系列(五)State设计模式
如题所示,今天要介绍的是一种争对状态转化的一种设计,这种设计应用也比较常见,风扇的几档是一个状态转换,空调的模式也是状态转换,当然怎么设计这种转换也有很多实现方式,今天介绍的是一种通用的,个人觉得好用的设计模式。
2020-06-17 13:54:16
583
原创 软件构造系列(四)继承与委托
继承是oop语言中的重要一环,用extends关键字实现,在java中所有声明的类都要继承一个类,如果没有特别声明,默认继承object类。被继承的类叫做父类,继承别人的类叫做子类,一个父类可以被多个子类继承,但一个子类不能继承多个父类,但是这里注意,一个接口是可以继承多个接口的,因为接口没有具体的实现,不会发生冲突,子类可以调用父类的变量和方法,注意子类一般是父类的特殊情况:
2020-06-17 13:53:48
331
原创 软件构造系列(三)ADT规约和接口
目录ADT规约规约意义行为等价性前置条件和后置条件规约确定性规约的强度规约的陈述性接口接口作用接口实现泛型ADT规约规约意义规约(specifications)写于ADT和每个方法前,我们应该写清楚每个规约,其对程序有重要意义:1.让别人理解此ADT意义与作用,而不需要了解其内部实现2.用于区别客户与开发者的责任3.先写好规约有利于开发者更正确,更快速设计代码4.可以隔离变化,无需通知客户端行为等价性站在客户端层面看ADT功能是否一样,无需关心内部实现,就像快排和桶排都是排序算法一样前置
2020-06-17 13:53:15
921
原创 软件构造系列(二)读入与输出
目录读入命令行文件三级目录读入命令行从命令行读入一般使用Scanner对象,首先new一个Scanner对象Scanner reader = new Scanner(System.in);然后Scanner这个类也有很多方法,例如next(),nextInt(),nextDouble()等获取一个类型的数据,hasNext()等判断是否有下一个对应数据String string = reader.next();//从命令行获取一个字符串文件三级目录...
2020-06-17 13:52:20
191
原创 软件构造系列(一)从C到Java
前言:此系列主要注重于实用性和易懂性,能让读者快速理解并运用相关知识,要更深入全面了解某项知识请移步其他文章或进入本文提供的链接。目录Class类一级目录一级目录一级目录Class类类相当于是java里程序的一个基本单位,一个类相当于是一个单独的程序,Java代码就写在类里面// An highlighted blockvar foo = 'bar';一级目录一级目录一级目录...
2020-06-17 13:51:22
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人