一,给出你的有理数类的代码。
import java.text.DecimalFormat; public class Countchange { private Double number1; private Double number2; private DecimalFormat Count; public Countchange(Double number1, Double number2) { this.number1 = number1; this.number2 = number2; Count = new DecimalFormat("###.##"); } public Double add() {//相加 Double result = number1 + number2; return format(result); } public Double sub() {//相减 Double result = number1 - number2; return format(result); } public Double mult() {//相乘 Double result = number1 * number2; return format(result); } public Double div() {//相除 Double result = number1 / number2; return format(result); } private Double format(Double result) { return Double.parseDouble(Count.format(result)); } }
二,测试代码
public class Main {
public static void main(String[] args) {
Countchange r = new Countchange(15.0, 5.0);
System.out.println("相加的有理数值:"+r.add());
System.out.println("相减的有理数值:"+r.sub());
System.out.println("相乘的有理数值:"+r.mult());
System.out.println("相除的有理数值:"+r.div());
}
}
三,测试结果
四, 讨论问题:
1.尝试描述怎么与c语言的有理数代码相比较,为什么你设计的类更加面向对象?
C语言编写代码偏向过程,而java的代码有属性特征,代码有更多的功能性,需要时调用相应代码就可以实现功能
2.尝试从代码复用的角度来描述你设计的有理数类。从几个方面讨论。
(1)别人如何复用你的代码?
直接使用我代码中的类就可以使用
(2)别人的代码是否依赖你的有理数类的属性?当你的有理数类的属性修改时,是否会影响他人调用你有理数类的代码?
是,不会影响到他人调用我有理数类的代码,我的有理数是private,修改我的有理数类属性时,不会影响他人调用我的类。
(3)有理数类的public方法是否设置合适?为什么有的方法设置为private?
合适,方便代码的复用,可避免有理数类的属性修改时影响他人的调用