有理数类的设计
作者:互联网
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