Java作业

一.代码实现

package java;
public class Rational{
	private int numerator;
	private int denominator;
	public Rational(int m,int d) {
		this.numerator=m;
		this.denominator=d;
	}
	public int getNumerator(){
		return this.numerator;
	}
	public long getDenominator(){
		return this.denominator;
	}
	public Rational add(Rational Rational2) {
		int m= (int) (numerator *Rational2.getDenominator()+numerator*Rational2.getNumerator());
		int d= denominator*Rational2.getNumerator();
		return new Rational(m,d);
	}
	public Rational sub(Rational Rational2) {
		int m=  (int) (numerator*Rational2.getDenominator()-numerator*Rational2.getNumerator());
		int d= denominator*Rational2.getNumerator();
		return new Rational(m,d);
	}
	public Rational mui(Rational Rational2) {
		int m= numerator*Rational2.getNumerator();
		int d= denominator*Rational2.getNumerator();
		return new Rational(m,d);
	}
	public Rational div(Rational Rational2) {
		int m= (int) (numerator*Rational2.getDenominator());
		int d= (int) (denominator*Rational2.getDenominator());
		return new Rational(m,d);
	}
}

二.测试代码

package java;

public class javac {
	public static void main(String[] args) {
		Rational number1=new Rational(1,3);
		Rational number2=new Rational(1,6);
		System.out.println("number1=" +number1);
		System.out.println("number2=" +number2);
		System.out.println("number1+number2" +number1.add(number2));
		System.out.println("number1-number2" +number1.sub(number2));
		System.out.println("number1*number2" +number1.mui(number2));
		System.out.println("number1/number2" +number1.div(number2));
		
	}
}

三.收获与总结
问题1:尝试描述怎么与c语言的有理数代码相比较,为什么你设计的类更加面向对象?
因为如果用C语言来设计有理数代码,设计时更加注重于过程,即用怎样的函数来实现这个过程,达到所预期的结果;而在设计类时,则更注重于考虑自身的特性与目标,即用面向对象来编写功能性代码。
问题2:尝试从代码复用的角度来描述你设计的有理数类。从几个方面讨论。
1.别人如何复用你的代码?
可以直接导用,因为我使用的是public修饰符,可直接使用。
2.别人的代码是否依赖你的有理数类的属性?当你的有理数类的属性修改时,是否会影响他人调用你有理数类的代码?
别人的代码依赖我的有理数属性。当我的有理数类属性被修改时,不会影响别人调用我的代码,因为我使用的是private。
3.有理数类的public方法是否设置合适?为什么有的方法设置为private?
合适。设置为private可以避免当我的有理数类属性被修改时,别人无法使用我的代码。
总结:通过本次作业练习,我加深了对java的理解,学会了运用private的特别性质来是自己的代码更安全可靠。

posted @ 2020-10-04 09:28  201921123081王永滨  阅读(59)  评论(0编辑  收藏  举报