其他分享
首页 > 其他分享> > 有理数类的设计

有理数类的设计

作者:互联网

1.完整的有理数类的代码。
package edu.jmu.javalearn.oo;
public class Number {
private double rationalNumber;

public double getRationalNumber() {
return rationalNumber;
}

public void setRationNumber(double rationalNumber) {
this.rationalNumber = rationalNumber;
}

public void add(Double addNum) {
rationalNumber = rationalNumber + addNum;
System.out.println("两数和为:"+toStr());
}

public void sub(Double subNum) {
rationalNumber = rationalNumber - subNum;
System.out.println("两数差为:"+toStr());
}

public void mul(Double mulNum) {
rationalNumber = rationalNumber * mulNum;
System.out.println("两数乘积为:"+toStr());
}

public void div(Double divNum) {
rationalNumber = rationalNumber / divNum;
System.out.println("两数相除为:"+toStr());
}

public void compare(Double comNum) {
if(rationalNumber > comNum)
System.out.println("两数大小比较为:"+rationalNumber+" > "+comNum);
else if(rationalNumber < comNum)
System.out.println("两数大小比较为:"+rationalNumber+" < "+comNum);
else
System.out.println("两数大小比较为:"+rationalNumber+" = "+comNum);
}

private String toStr() {
String str = ""+rationalNumber;
return str;
}
}
2.测试代码
package chapt01;

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double number = scanner.nextDouble();
double next = scanner.nextDouble();

Number num = new Number();

num.setRationNumber(number);
num.add(next);            
num.sub(next);            
num.mul(next);        
num.div(next);            
num.compare(next);        
scanner.close();                    

}
}
3. 尝试回答与c语言的有理数代码相比较,为什么你设计的类更加面向对象?
C语言是完全面向过程,我使用了封装类,所以我设计的更加面向对象。
4.别人如何复用你的代码?
通过新建类,然后调用public的属性或方法。
5.别人的代码是否依赖你的有理数类的内部属性?当你的有理数类的属性修改时,是否会影响他人调用你有理数类的代码?
依赖。会。
6.有理数类的public方法是否设置合适?为什么有的方法设置为private?
合适。有的方法设置为private是为了保护不受外界影响程序。
7.你的类里面有static属性或方法吗?如果有,为什么要设置为static的?
没有。

标签:有理数,void,System,num,rationalNumber,设计,public,out
来源: https://www.cnblogs.com/a2080941814/p/15344761.html