3个带getter-setter的课程

时间:2016-05-24 17:04:22

标签: java class encapsulation getter-setter

我创建了3个类来分隔每个类的功能。

1st - 接受输入并仅打印输出的InputOutput类

import java.util.Scanner;
public class InputOutput {

    public static void main(String[] args) {
        GetterSetter obj = new GetterSetter();
        Scanner input = new Scanner(System.in);
        System.out.print("Input 1st num: ");
        int a = input.nextInt();
        obj.setNum1(a);
        System.out.print("Input 2nd num: ");
        int b = input.nextInt();
        obj.setNum2(b);
        System.out.println(obj.getSum());

    }
}

第二类 - 获取和设置数据的GetterSetter类。

public class GetterSetter {
    private int num1;
    private int num2;
    private int sum;

    public int getNum1() {
        return num1;
    }
    public void setNum1(int num1) {
        this.num1 = num1;
    }
    public int getNum2() {
        return num2;
    }
    public void setNum2(int num2) {
        this.num2 = num2;
    }
    public int getSum() {
        return sum;
    }
    public void setSum(int sum) {
        this.sum = sum;
    }    
}

3rd - 处理数据的进程类(包含程序中的所有逻辑)。

public class Process {

    GetterSetter obj = new GetterSetter();
        int num1 = obj.getNum1();
        int num2 = obj.getNum2();
        int sum = num1 + num2;
        obj.setSum(sum);//error
}

如何让流程类付诸行动?

我怎样才能做到这一点:

  1. 从InputOutput类获取数据

  2. 将收集的数据设置为GetterSetter类

  3. 在流程类中,从GetterSetter类中获取数据 - >做手术 - >将结果设置为GetterSetter类。

  4. 最后,在InputOutput类中打印输出/结果。

1 个答案:

答案 0 :(得分:0)

您可以使用extends关键字获取班级InputOutput中的所有信息。你可以试试这个:

public class GetterSetter extends InputOutput
{
    /*** Code from your GetterSetter class ***/
}

然后,您可以使用GetterSetter课程中的信息并将其扩展到Process课程。

public class Process extends GetterSetter
{
    /*** Code from your Process class ***/        
}

现在,您可以使用其他两个类中InputOutput类的所有变量。

Process课程中,您可以使用toString()方法覆盖System.out.println(obj.getSum());

toString()看起来与此类似:

public String toString(num1, num2, sum)
{
    String sumString = "" + sum;
    return sumString;
}

而不是调用您正在使用的System.out.println(),请调用toString()方法并将其打印出来。

System.out.println(toString(a, b));

希望这对你正在做的事情有所帮助。