仿照BigDecimal类以面向对象的方式设计有理数类。

有理类代码

测试代码

有理数类的设计_c语言

类名、变量名命名需符合Java规范

尝试回答与c语言的有理数代码相比较,为什么你设计的类更加面向对象?

这个Java的有理数类更加系统,不同的功能被不同的模块,不同的类分割清楚,要求不同功能之间有联系,需要使用时,只需要使用我们所需要的类即可。而C语言则不需要每个功能之间有联系,只有完成所需的功能即可。

尝试从代码复用的角度来描述你设计的有理数类。从几个方面讨论。

别人如何复用你的代码?

拷贝我的代码并命名为RationalNum的类,然后就可以使用,或者更改类名,在后续调用时,也需要更改名字。

别人的代码是否依赖你的有理数类的内部属性?当你的有理数类的属性修改时,是否会影响他人调用你有理数类的代码?

依赖,当我修改时,会对其他人的使用产生影响。

有理数类的public方法是否设置合适?为什么有的方法设置为private?

public是公共的,大家都可以访问,而private有限制,只能这个类本身访问

你的类里面有static属性或方法吗?如果有,为什么要设置为static的?

有使用到static,找最大公约数时,使用了。即那个最大公约数就可以在后序中使用。即为全局变量。