仿照BigDecimal类以面向对象的方式设计有理数类。
有理类代码
测试代码
类名、变量名命名需符合Java规范
尝试回答与c语言的有理数代码相比较,为什么你设计的类更加面向对象?
这个Java的有理数类更加系统,不同的功能被不同的模块,不同的类分割清楚,要求不同功能之间有联系,需要使用时,只需要使用我们所需要的类即可。而C语言则不需要每个功能之间有联系,只有完成所需的功能即可。
尝试从代码复用的角度来描述你设计的有理数类。从几个方面讨论。
别人如何复用你的代码?
拷贝我的代码并命名为RationalNum的类,然后就可以使用,或者更改类名,在后续调用时,也需要更改名字。
别人的代码是否依赖你的有理数类的内部属性?当你的有理数类的属性修改时,是否会影响他人调用你有理数类的代码?
依赖,当我修改时,会对其他人的使用产生影响。
有理数类的public方法是否设置合适?为什么有的方法设置为private?
public是公共的,大家都可以访问,而private有限制,只能这个类本身访问
你的类里面有static属性或方法吗?如果有,为什么要设置为static的?
有使用到static,找最大公约数时,使用了。即那个最大公约数就可以在后序中使用。即为全局变量。