次のJavaプログラムを作成しました。その基本的な機能は、2つの数値に対して加算、減算、乗算、除算、およびモジュラ除算を実行することです。次のJavaプログラムでカプセル化を導入するにはどうすればよいですか?
私はオブジェクト指向プログラミングの概念を実装しましたが、カプセル化がありません。
カプセル化を導入するにはどうすればよいですか?
私のコードは次のとおりです。
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author piyali
*/
public class Calculator {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int x, y;
x = 13;
y = 5;
calculation add = new calculation();
calculation sub = new calculation();
calculation mul = new calculation();
calculation div = new calculation();
calculation mod = new calculation();
int addResult = add.addition(x, y);
int subResult = sub.subtraction(x, y);
int mulResult = mul.multiplication(x, y);
int divResult = mul.division(x, y);
int modResult = mod.modularDivision(x, y);
System.out.println("The addition of the numbers is " +addResult);
System.out.println("The subtraction of the two numbers is " +subResult);
System.out.println("The multiplication of the two numbers is " + mulResult);
System.out.println("The division of the two numbers is " +divResult);
System.out.println("The modular division of the two numbers is " + modResult);
}
}
class calculation {
int addition(int x, int y){
int z;
z = x + y;
return(z);
}
int subtraction(int x, int y){
int z;
z = x - y;
return(z);
}
int multiplication(int x, int y){
int z;
z = x * y;
return(z);
}
int division(int x, int y){
int z;
z = x/y;
return(z);
}
int modularDivision(int x, int y){
int z;
z = x % y;
return(z);
}
}
カプセル化には、データメンバ(別名フィールド)の保護が必要であることに注意してください。フィールドがない場合は、カプセル化する必要があるものを公開していません。 – Rogue
ここでは、計算b =新しい計算、b.z = 12、というようなことを簡単に行うことができます。int zがaddition()という関数の外で宣言されていれば、カプセル化が便利になるでしょう。 –