2016-05-24 4 views
-1

Я создал 3 класса для разделения функциональности каждого класса.3 класса с getter-setter


первый - класс 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()); 

    } 
} 

второго class- класса 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.

+2

1) Что такое класс модели (GetterSetter?)? 2) Что такое класс приложения? 3) В части 3, что случилось с тем, что вы сейчас делаете? 4) Когда должна выполняться домашняя работа? – Ironcache

+0

Похоже, вы пытаетесь следовать шаблону MVC. Вот хорошая ссылка на то, как это работает: [MVC] (http: //www.tutorialspoint.com/design_pattern/mvc_pattern.htm) Я бы предложил завершить этот учебник и подгонять его к вашему текущему приложению. –

ответ

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)); 

Надеюсь, что это помогло в некоторой степени с тем, что вы делаете.

Смежные вопросы